标签:git merge git rebase git cherry-pick git checkout
git默认的分支叫做master,在实际的项目中一般还会存在一个next分支。master分支作为主干版本,接受bugfix需求;next分支用来集成测试,接受开发完毕的新特性。此外,还会存在一些topic分支,每个topic分支用来实现一个新特性,新特性开发完成后,由next分支的维护者合并到next分支中,然后topic分支就可以被删除了。
git使用HEAD索引指向当前分支,例如,版本中存在master和next两个分支,使用git checkout next命令切换到next分支后,HEAD就指向了next;使用git checkout master命令切换到master分支,HEAD就指向了master。
常用的分支合并命令有:git merger、git rebase和git cherry-pick。
例如,版本存在master和next两个分支,在C3之后master提交了一个C5,next提交了一个C4和C6。
master使用git merger next将next分支的C4和C6合入到master中;首先,git按照commit提交的时间顺序,在C3之后合入C4;然后,再接着合入C5和C6;经过如此计算后,最终得到C7。
例如,使用<<<<<<<< HEAD表示当前分支的冲突内容,使用>>>>>>>>>>> next表示next分支的内冲突容,========划分冲突界线。由用户手动解决该冲突内容,并删除<<<<<<<<和>>>>>>>>>标示,生成一个新的commit,然后提交即可。
本文介绍了git最大的特性和优势:分支技术。主要介绍了分支的新建和删除、分支的查看和切换,重点介绍了分支合并和冲突解决。
标签:git merge git rebase git cherry-pick git checkout
原文地址:http://blog.csdn.net/luomoweilan/article/details/40351717