贝隆

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

切换到需要提交commit的分支,

git checkout master

选择一个待合入的commit hash,多个hash值,按提交时间顺序排序。即最先提交的commit放在前面。

git cherry-pick hash1 hash2

    a - b - c - d - hash1 - hash2   Master
         \
           e - hash1 - hash2 - g   Feature


提交代码到暂存区

git commit -m "code"

push代码到远端分支

git push origin master



经常需要从一个分支选择性的合并commit到另一个分支,具体可使用cherry-pick实现:
单个commit合并

git cherry-pick commit_id

 

Cherry pick 支持一次转移多个提交。


$ git cherry-pick <HashA> <HashB>

上面的命令将 A 和 B 两个提交应用到当前分支。这会在当前分支生成两个对应的新提交。

如果想要转移一系列的连续提交,可以使用下面的简便语法。


$ git cherry-pick A..B 

 

上面的命令可以转移从 A 到 B 的所有提交。它们必须按照正确的顺序放置:提交 A 必须早于提交 B,否则命令将失败,但不会报错。

注意,使用上面的命令,提交 A 将不会包含在 Cherry pick 中。如果要包含提交 A,可以使用下面的语法。


$ git cherry-pick A^..B 

https://ruanyifeng.com/blog/2020/04/git-cherry-pick.html

 

posted on 2020-11-16 19:20  贝隆  阅读(95)  评论(0编辑  收藏  举报