1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 别总用git merge了 Git高级操作之选择合并 git将一个分支的提交合并到另一个分支 git cherry-pick

别总用git merge了 Git高级操作之选择合并 git将一个分支的提交合并到另一个分支 git cherry-pick

时间:2020-10-16 12:32:49

相关推荐

别总用git merge了 Git高级操作之选择合并 git将一个分支的提交合并到另一个分支 git cherry-pick

当前需求:我现在有两个分支 A和B,这两个分支都同属于是一个项目,一个是新版本,一个是旧版本。而且差异化比较大

现在产品下发了一个需求,需要在两个版本上同时发布进行,那么只能在一个版本上开发,并且由于两个版本差异化较大,不可能用git merge进行合并,这样就会合并不需要的代码,因为我只需要合并这一个需求的。

所以我现在在A或者B分支上进行需求开发,然后提交开发的需求,然后只需要把新提交的代码合并到另一个分支就行了。git merge肯定不行,那么就会用到git的另一种方式git cherry-pick

下面是操作方式

首先切换到A分支

git checkout A

git log

找出要合并的commit ID :

例如

325d41xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

然后切换到B分支上

git checkout B

git cherry-pick 325d41xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

然后就将A分支的某个commit合并到了B分支了

注意点:如果在A分支上有了很多commit ID 那么在多次执行git cherry-pick 的时候可能需要先解决冲突,解决完冲突后需要先push,然后再继续 git cherry-pick,git commit和git stash 都无法解决,好像必须要push,我在这个坑上浪费了很多时间

但是这个操作的确能解决不少问题。特此记录一下

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。