git代码合并、代码撤版
git适合的场景
分支开发,主干发布;
也就是常说的并行开发。
git合并代码
摘樱桃的方式
$ git cherry-pick 53c99db c771517
整分支的方式
合并某分支到当前分支:
$ git merge master --no-ff --no-commit
说明:
–no-ff:合并时会产生一个新的commit节点。在删除源分之后,目标分支的合并信息仍然被保留,在以后的代码分析中可以便捷的查看到历史信息,而fast forward方式则无法辨识代码的合并信息。
–no-commit:暂时不commit,参数使得合并后,为了防止合并失败并不自动提交,能够给使用者一个机会在提交前审视和修改合并结果。
git整分支合并例子
克隆:
git clone http://liuyongzhan:liuyongzhan@192.168.xxx.xxx/liuyongzhanTest/liuliuliu.git
切换分支:
git checkout
合并某分支到当前分支:
git merge master --no-commit --squash
说明:
–no-commit 暂时不commit
–squash 其效果相当于将原分支上的多个commit合并成一个,放在当前分支上,原来的commit历史则没有拿过来。
提交前的查看合并结果:
git status -s
冲突时,终止merge:
git merge --abort
提交合并:
git commit -m “整分支合并”
推送到远程库:
git push --set-upstream origin
git整分支撤版
撤版命令:
git revert -n 7d0d379 # 7d0d379是整分支合并对应的哈希码
git commit -m “ab-5 autochain整分支撤版”