By francis_hao Nov 18,2016
查看分支,* 表示当前所在分支
$ git branch
查看分支和最后一次提交记录
$ git branch -v
新建分支
$ git branch alphabet
切换分支
$ git checkout alphabet
新建和切换可以合并为一步操作
$ git checkout -b digital
删除一个分支,注意:不能删除当前所在分支
$ git branch -d for_delete
查看所有分支的提交记录
$ git log --graph --decorate --all --oneline
对应的关系图
合并digital分支到master分支,需要在master分支上进行。其实就是合并digital分支到当前分支。
$ git merge digital -m "merge digital to maste"
这里没有冲突,所以顺利合并了。合并后的状态
如果有冲突的话合并会失败。
冲突的信息都放在了文件a中,需要手动解决,文件a的内容
解决冲突后,和修改了文件之后的操作一样。
$ git add a
$ git commit -m "resolved conflict"
合并失败的操作不会在log记录,如图,因为没有"merge with conflict"项。但是在reflog里有。
分支策略:首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如要发布,或者说dev分支代码稳定后可以合并到主分支master上来。然后dev分支保留或删除就视情况了。
本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:http://www.cnblogs.com/yinghao1991/p/6079594.html
参考
[1] 蒋鑫.《git权威指南》北京:机械工业出版社,2011.6
[2]Git Community Book中文版 http://gitbook.liuhui998.com/3_3.html分支与合并
[3]V2EX https://www.v2ex.com/t/84206 rrrrutdk