git cherry-pick

今天给你们介绍git一个很是实用的技能cherry-pickcherry-pick字面翻译就是捡樱桃(吃货们请自重),但在git里,它的功能是把已经存在的commit进行挑选,而后从新提交。下面你们能够脑补一下这种状况,本地仓库有3个分支mastertestnormal,他们的提交记录以下:git

master的基础上,test进行了2次提交,normal进行了1次提交。如今想把test的第2次提交(仅仅是第2次提交,不包含第1次提交)和normal的第1次提交合并到master分支,直接merge分支是行不通的,这样会把两个分支的所有提交都合并到master,用cherry-pick便可完美的解决问题, 若是normal第一次提交的SHA-1值是9b47ddtest第二次提交的值是dd4e49,执行以下命令便可把这两个提交合并到master工具

git cherry-pick 9b47dd dd4e49

 

若是有冲突,则须要修改冲突文件,而后添加修改文件到暂存区,命令以下:spa

git add main.js

 

最后执行翻译

git cherry-pick --continue

 

最后要说明的是:code

  • 执行完git cherry-pick --continue后不须要commit了,该命令会自动提交
  • git cherry-pick --abort能够放弃本次cherry-pick
  • git cherry-pick 9b47dd dd4e49git cherry-pick dd4e49 9b47dd这两个的结果可能会不同,顺序很重要

最好借用工具解决冲突,GitTortoiseorm

相关文章
相关标签/搜索