1 git的光速入门,

  git是什么

  git的安装

    windows下的安装

    LINUX下的安装

  git的配置

  本地代码管理

    创建版本库

    添加文件

    修改文件

    删除文件

  远程仓库

    注册再选仓库张海

    创建项目

    把代码推到远程仓库

    团队合作

    

2 git的特点和诞生

  分布式版本控制器

  发展历史

 

3 版本查看及切换

  工作区和版本库

  改动日志查看

  版本的切换

 

4 分支管理

  分支的作用

  查看分支

  创建分支

  切换分支

  `合并分支

 

5 远程服务器配置

  查看远程仓库

  删除远程仓库

  添加远程仓库

  修改远程仓库

 

6 公钥登录

 

 

 

git的光速入门

git是什么?

git是一种版本控制器,更直白的说,团队开发的时候,管理代码使用的软件

GIT的安装

git在win和mac环境下都能安装

 

windows 下的安装

到 http:www.git-for-windows.github.io/ 下载软件,双击,一路“Next”完毕,安装成功!

 

Linus下的安装

yum install git

git的配置

在使用的git之前,需要先进行配置,即钥报告的自己的名号,否则不能提交代码

在自己创建的文件夹下面右键,点击Git Pash Here ,进入Git编辑器

$ git config --global user.name 'andy' # 这里配置你是谁
$ git confiig --global user.email  '158376998990@139.com'# 联系方式

 

本地代码管理

创建版本库

D:# 进入到当前文件夹的根目录
cd :E:\git\xiaohui # 这个是当前文件夹的路径
- git的配置:
    git config 进行配置
    - git目录的创建:
    mkdir test
    - git初始化:
    git init  => 创建一个隐藏文件 .git,会创建一个仓库
        
    

注意:

  • 不要将仓库建在中文目录下,否则可能出现问题
  • .git是一个隐藏的目录,不要随便乱碰(每一次的操作,都会有记录)

添加文件

在E:/test目录下面,用你喜欢的编辑器来开发你的程序,比如:index.py

编辑完成后,git status来查看文件的状态

此时git发现有一个新的文件,但是并没有把该文件纳入管理,我们需要两步,让git来管理文件

$git add index.py # 把index.py文件保存在暂存区
$git add . # 是指添加本目录下所有文件
$git commit -m '新建文件' # 把index.py提交到版本库

 

如果要提交的文件过多,也可以 $ git commit
点击回车

请为您的更改输入commit消息。以'#'开头的行将被忽略,空消息将中止提交。(就是说像python一样,带#号的会被注释掉,把#去掉的会被提交(在那一行按一个X),达到批量提交的目的)

最后按esc+:wq(保存并退出)


修改文件

这个过程和添加文件是一样的,同样需要两步

 

删除文件

用 rm 来删除文件,并直接 commit ,提交到版本库

$ touch b.py  # 创建一个b.py的文件

$ git add b.py

$ git commit -m '做删除使用' b.py

# 开始删除
$git rm b.py

git commit -m '删除b.py了' b.py

 

远程仓库

经过前面的练习,我们已经能够在本地的仓库里管理代码了,但如果是团队开发,怎么配合起来呢?

我们可以把版本放在互联网上,开发者把自己的最新版本推到线上仓库,同时,把最新版本的代码拉到本地,这样,就可以协同工作了

 

注册在线仓库账号

国内:http://www.github.com
国外:http://git.oschina.net

 

github.com是目前全球最大的同性交友网站,但是由于网站在国外,因此访问起来速度不是很好,所以,我们这次使用 git.oschina.net来完成练习

 

创建项目

在oschina上注册后,新建项目,我们先新建一个项目,叫做test

创建成功之后,oschina会为这个项目提供两个地址:

1 http地址:https://git.oschina.net/lianshou/test.git
2 ssh地址:git@git.oschina.net:lianshou/test.git

 

 

 

 

把代码推到远程仓库

 推:push

1 添加本地代码到远程仓库

创建一个新的项目,复制HTTPS

 

  1 配置:

    git remote add origin https://gitee.com/ouyangguoyong/my_test.git 

origin是为后面地址添加的别名(业内九江origin作为远程地址的别名)

    $ git pull origin master # 将远程的代码拉倒master分支,每一次提交之前都要拉一下

    $ git push origin master 

意思是:把你本地的版本(默认是master),推到代号为origin的远程库
这个过程会让你输入用户名和密码,即你注册时的用户名和密码

 

团队合作

你想让xiaoming和你一起开发这个项目,首先我们需要在my_test这个项目中把xiaoming添加进来,让其成为开发者,步骤如下:

项目-->管理-->项目成员管理-->开发者-->添加项目成员-->输入xiaoming

接下来就是开发:

  • 首先需要clone一份代码到自己的本地
    
cd F:/
git clone  https://gitee.com/ouyangguoyong/my_test.git

xiaoming开始在自己的工作区开发代码,然后提交代码到这个地址

那到另一个账户,如何得到最新的代码?

之前推(push)代码到远程服务器,那拉代码,自然就是pull了

 

git pull origin master

 

2 git的诞生和特点

分布式控制器

 

 

 

 

 

 发展历史

 

3 版本查看以及切换

工作区和版本库

如果你想更清晰的学习git,你必须要了解3个重要的区域:

  • 工作区:开发者的工作目录
  • 暂存区:修改已被记录,但未被录入版本库的区域
  • 版本库:存放变化日志以及版本信息

 

 

 改动日志查看

 

git log : 查看项目日志
git log file : 查看某个文件日志
git log . :查看本目录日志
git reflog: 查看详细做了啥

若果感觉有点乱,可以使用git log --pretty=oneline 让日志单行显示

版本的切换

  

    
git reset --hard "head^^^"

--hard代表的是当前版本,后面的^符号代表的是退回到第几个版本,几个^符号就代表退回第几个

但是这种方式不是很灵活,因此不建议大家使用这种方式切换,我们使用:

    
git reset --hard 2580d

2580d代表的是版本号,只需要保证版本号是唯一的即可

 

分支管理

分支的作用

假设网站现有支付宝支付功能,现在需要上线微信支付的功能,此时涉及修改的文件为:wechat.py, ali.py

刚做到一半,突然有个紧急的bug:支付宝支付之后不能修改状态,那此时你需要立即修改这个bug,需要修改的文件是ali.py

但是问题是,ali.py你已经做了一半了,而且尚未完成,直接再次基础上修改,肯定会有问题,把ali.py倒回去?那之前的工作就白费了。

此时你肯定会想,能不能在做微信支付的时候,能否把仓库复制一份,再此副本上修改,不影响原仓库的内容,修改完毕之后,再把副本的内容合并过去

那这个就是分支的概念

前面见过的master就是代码的主分支

实际中,我们一般不会直接提交代码到master上

而是会创建一个分支dev,在dev分支上,进行开发测试,没有问题了之后,在合并到master上



查看分支
View Code

 

 查看分支

git branch

创建分支

git branch dev

切换分支

git checkout dev

合并分支

git merge dev

远程服务器配置

查看远程仓库

git remote 
git remote -v

 

删除远程仓库

命令:git remote remove <远程地址>
例子:git remote remove origin

 

添加远程仓库

git remote add <远程仓库别名> <远程仓库地址>

修改远程仓库

git remote rename <旧名称> <新名称>

公钥登录

 

我们push代码的时候,老是需要输入用户名和密码,非常不方便。

因此,配置公钥,可以避免频繁的输入用户名和密码

配置ssh格式的远程仓库
git remote add 远程仓库名 远程仓库地址

创建ssh key
ssh-keygen -t rsa -C "youemail@163.com"
一直回车,不用输入密码,完成之后,可以再主目录里找到.ssh文件夹,内有id_rsa和id_rsa.pub两个文件, id_rsa是私钥,id_rsa.pub是公钥

把公钥放到服务器上

 

 

参考文文献 https://www.shangzekai.xyz/2018/05/07/git的介绍和使用/

posted on 2018-11-24 22:48  Andy_ouyang  阅读(153)  评论(0编辑  收藏  举报