参考,个人作为记录而已
廖雪峰git教程
分支管理
我们一般在master分支(git自动创建的)上增删改查的,分支管理,意味着有很多分支,否则一个master,git也不用特意来管理分支了
为什么要很多分支?
分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
就是说新建一个分支,该分支有原本的代码,在此分支上修改不会影响原来的分支,且此分支可以和原分支合并成新改后的master主分支。
创建与合并分支
每一次提交,生成一个个commit id,这些id连成一个时间线,而master指向最新的id,一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:

每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长
创建
当我们创建新的分支,例如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上

就是说分支很多,head只有一个,创建了新的分支,head就指向了新的分支,以后的对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前移动一步,而master指针不变

合并
那么如何合并呢?将master指向dev的指向!合并完分支后,甚至可以删除dev分支。删除dev分支就是把dev指针给删掉
创建分支的命令
创建dev分支,然后切换到dev分支:
1 | $ git checkout -b dev |
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
1 | $ git branch dev |
合并分支的命令
假如,dev分支的工作完成,我们就可以切换回master分支:
1 | $ git checkout master |
把dev分支的工作成果合并到master分支上(先切换到master分支再合并)
1 | $ git merge dev |
合并完成后,就可以放心地删除dev分支了(合并完删除)
1 | $ git branch -d dev |