Git分支管理
创建与合并分支
你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
在Git里,主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
当我们创建新的分支,比如dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上:
创建dev分支,然后切换到dev分支:
$ git checkout -b dev
加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch dev$ git checkout dev
查看当前分支:
$ git branch
然后可以在分支上add/commit操作等
切换回master分支,此时文件,修改都不见了,因为已提交到dev分支上,
Please commit your changes or stash them before you switch branches.
(请在切换分支前提交更改或保存。)
不提交是不能切换的。
$ git checkout master
把dev分支的工作成果合并到master分支上,git merge命令用于合并指定分支到当前分支
$ git merge dev
合并完成后,就可以放心地删除dev分支了
$ git branch -d dev
如上图合并不成功因为master在dev合并之前也修改了文件,修改冲突后提交
用带参数的git log也可以看到分支的合并情况:
$ git log --graph --pretty=oneline --abbrev-commit