Git cherry-pick 了解一下

Logo
  cheery-pick 不知道有没有什么故名思意之类的,反正以我的英语水平是看不出来>_<。它可以将指定commit 复制到当前所在的分支;一般情况下,这个命令没有什么用武之地。但如果你有多个分支,其中一个是生产发布用的,一个是开发用的,还有其他的分支;某个功能在开发分支上完成开发并通过测试了。由于某种原因「顺带修复了某个严重bug、或者很多用户请求尽快增加」,需要在下一个小版本更新而不是在下一个大版本「大版本计划在几个月甚至半年」。这时候,cheery-pick 就是你手中的咖哩棒「无往不利」。

git cherry-pick commit-hash

  cherry-pick 在1.7.2之后的版本支持多个commit-hash「批量」;这样的话,cherry-pick 在某些情况下的结果和git pull「fast forward」 以及git rebase 是一致的。这时候,cherry-pick 的不同在于:它复制的commit 与原有commit 的改动是一样的,但两者的commit-hash 不一样。

# 左开右闭
git cherry-pick newer-commit-hash..older-commit-hash
# 闭区间
git cherry-pick newer-commit-hash^..older-commit-hash

  当然啦,操作commit 少不了会出现冲突;由于cherry-pick 会产生新的commit-hash,所以在解决完冲突后需要commit 一下「git commit

参考

您的浏览器已过时

要正常浏览本网站请升级您的浏览器。现在升级

×