Mac中Git的简单实用(4) --- 分支branch管理

今天我来介绍下Git,Git是一款免费、开源的分布式版本控制系统。
我们在上一个实现远程仓库。
这一章,我们要学习Git分支管理。

Mac中Git的简单实用(1) — Git基本命令(1)
Mac中Git的简单实用(2) — Git基本命令(2)
Mac中Git的简单实用(3) — Github远程仓库


1、分支介绍

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。
我们通过branch命令查看分支:
MBP:git qiuyu$ git branch
* master
我们可以看到,只有一条时间线,在Git里,这个分支叫主分支,即master分支。
每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长(有点类似链表)。
当我们创建新的分支,例如branchtest时,Git新建了一个指针叫dev,指向master相同的提交,
再把HEAD指向branchtest,就表示当前分支在branchtest上。
从现在开始,对工作区的修改和提交就是针对branchtest分支了,比如新提交一次后,branchtest指针往前移动一步,而master指针不变
完成任务后应该把branchtest合并到master上。就是直接把master指向branchtest的当前提交,就完成了合并。
合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支。

2、实战介绍

上一节大体介绍了分支的使用,下面我们通过一个例子来学习使用。
MBP:git qiuyu$ git branch
* master
MBP:git qiuyu$ git checkout -b testbranch
切换到一个新分支 'testbranch'
使用参数-b,目的是创建和切换分支,相当于这两个命令:
MBP:git branch testbranch
MBP:git checkout testbranch
切换到一个新分支 'testbranch'
现在我们查看branch:
MBP:git qiuyu$ git branch
  master
* testbranch
git branch命令会列出所有分支,并在当前分支面前加上*。
然后我们对git.txt进行修改:

1

//修改为如下
git is ok.
git is nice.
change branch.
下面我们将修改后的git.txt提交:
MBP:git qiuyu$ git add git.txt
MBP:git qiuyu$ git commit -m "branch test"
[testbranch d2ba8f0] branch test
 1 file changed, 1 insertion(+)
现在我们testbranch分支已经完成,我们切换到master进行查看:
MBP:git qiuyu$ git commit -m "branch test"
[testbranch d2ba8f0] branch test
 1 file changed, 1 insertion(+)
MBP:git qiuyu$ git checkout master
切换到分支 'master'
您的分支领先 'origin/master'2 个提交。
  (使用 "git push" 来发布您的本地提交)
MBP:git qiuyu$ cat git.txt
git is ok.
git is nice.
可以看到,git.txt文件内容为上一次提交的,并不是branch test版本。
现在,我们把testbranch分支的工作成果合并到master分支上:
MBP:git qiuyu$ git merge testbranch
更新 e5798f6..d2ba8f0
Fast-forward
 git.txt | 1 +
 1 file changed, 1 insertion(+)

//再进行查看是最新版本
 MBP:git qiuyu$ cat git.txt
git is ok.
git is nice.
change branch.
git merge命令用于合并指定分支到当前分支。合并后,再查看git.txt的内容,
就可以看到,和testbranch分支的最新提交是完全一样的。

合并完成后,我们要将testbranch进行删除:
MBP:git qiuyu$ git branch -d testbranch
已删除分支 testbranch(曾为 d2ba8f0)。
MBP:git qiuyu$ git branch
* master

小结

查看分支:git branch

创建分支:git branch 

切换分支:git checkout 

创建+切换分支:git checkout -b 

合并某分支到当前分支:git merge 

删除分支:git branch -d 

你可能感兴趣的:(git)