为什么需要分支管理:
在开发项目中,可能会出现这样的情况。比如甲负责一个模块,需三天完成。那么直到这个模块完成前,是不能提交的,因为可能会导致整个系统错误。如果不提交可能就会导致丢失进度。这时候如果甲创建一个分支,在这个分支里面提交,就可以不干扰主分支。在这个模块写完了,合并到主分支。
在每次提交里,git都会记录下来。并且串成一条线。
这个分支就是master。HEAD指向master分支,如果master提交,就向前走一个指针。
当创建新分支,如dev,就创建了一个dev的指针,指向master的相同提交。再把HEAD指向dev,就表示当前分支在dev上。
当指针移动到dev,那么现在的提交和修改就在dev分支上了。每次提交dev的分支线就延长,而master则不会。
如果在dev分支上的工作完成了,就可以把dev合并到master。合并的方法是将master指向dev当前的提交。就可以合并。
合并之后就可以删除dev分支。
首先,创建dev分支并且切换到dev分支。
git checkout -b dev #该命令就会创建dev分支并且,切换到dev分支
-b表示创建并且切换,相当于这两条命令
git branch dev
git checkout dev
如果没有创建成功,可能是没有创建master分支。可以先提交一个文件,以创建master分支。
git branch #查看当前分支
*表示当前分支。
现在提交一个更改
现在dev分支完成,这时候就可以退回master分支上
git checkout master
回到master分支后可以发现aa.txt文件的内容没有更改。
现在就可以合并了
git merge dev #将master和dev分支合并
Fast-forward:意为把master指向dev当前提交。
合并后就可以删除dev分支了
git branch -d dev
因为创建分支和删除分支,是比较快的。所以也鼓励使用分支完成某个任务,这和在master上工作效果是一样的,但过程更安全。