Git-创建与合并分支

在版本回退那里,我们通过Git可视化工具SourceTree查看到每次提交一个版本,Git都会把他们串成一条时间线,这条时间线就是一个分支,如图所示:
Git-创建与合并分支_第1张图片
当把上面的所有分支更改为当前分支,看一下效果图:
Git-创建与合并分支_第2张图片
可以看到两者的效果图是一样的,所以截止到目前为止只有一条时间线,在Git里面,这个分支叫做主分支(master),也就是master分支
另外HEAD指向的是当前分支,所以是HEAD指向master,mater指向提交,每提交一次master分支就会向前移动一步,随着不断都提交,master分支的线也会越来越长,如图所示(图片来自廖雪峰官网):
Git-创建与合并分支_第3张图片
我们开始去创建新的分支,比如创建新的分支dev,相当于Git创建了一个新的指针叫dev,并且指向master的相同提交,再把HEAD指向dev,则就表示当前分支为dev,如图所示(图片来自廖雪峰官网):
Git-创建与合并分支_第4张图片
从现在开始对于工作区文件的修改和提交就是在dev分支上完成的,比如说我们执行了一次新的提交,按照我们上面说的,则dev分支就会向前移动一步,因为当前分支已经不是master了,所以master分支就会提留在最后一次的提交点不动,如图所示(图片来自廖雪峰官网):
Git-创建与合并分支_第5张图片
那如果在dev分支上的操作完成了,如何将master分支和dev分支进行合并?其实就是直接把master指向dev的提交,这样就是完成了合并:
Git-创建与合并分支_第6张图片
下面开始直接实战操作:
首先创建新分支dev,然后将当前分支切换到dev:
git checkout -b dev
Git-创建与合并分支_第7张图片
git checkout 后面添加了一个-b的参数,表示创建新的分支并且切换分支,相当于:
git branch dev 创建dev分支
git checkout dev  切换分支

然后查看当前分支:
git branch
Git-创建与合并分支_第8张图片
git branch 会将所有的分支列出来,并且使用*(星号)注明当前分支
现在我们就在当前分支(dev)上进行提交操作,开始对readme.txt文件进行修改操作,还是老样子我们在readme.txt文件中添加一行:
Creating a new branch is quick.
Git-创建与合并分支_第9张图片
现在在dev分支上的提交操作已经完成,我们再次切换分支到master:
git checkout master
Git-创建与合并分支_第10张图片
我们来打开readme.txt文件打开,会发现一个比较神奇的事情:
Git-创建与合并分支_第11张图片
刚刚添加的那一行不见了?这是怎么回事?
因为我们刚刚的那个提交操作是在dev分支上完成的,而master分支上的此刻提交点并没有变

ok,现在我们把在dev分支上面的成果和master分支进行合并:
git merge dev
Git-创建与合并分支_第12张图片
git merge命令用于合并指定分支到当前分支,ok,现在合并操作也已经完成了,我们再来看一下readme.txt中的内容:

和在dev分支上的最新提交一模一样的

那么我们如何删除掉dev分支呢?
git branch -d dev
Git-创建与合并分支_第13张图片
总结:
查看分支:git branch
创建分支: git branch 分支名
切换分支: git checkout 分支名
创建并切换分支: git checkout -b 分支名
合并指定分支到当前分支: git merge 分支名
删除分支: git branch -d 分支名 

你可能感兴趣的:(Git)