2016-04-19 78 views
1

我有一个关于Git的问题,我从来没有做过,所以我想学习!Git合并有选择地提交

在我的项目中,我分了一段时间master;它本质上是对整个代码库的重写,所以我们称之为rewrite。在我一直致力于rewrite的时候,我也对master做了一些重大修改。现在我的重写即将结束,我希望从开始分支以来,随着主人对所做的所有更改加快速度。

通常我会做类似git checkout rewrite && git rebase master的事情,然后解决冲突,但这次我可以保证每个提交都有冲突,因为代码库完全不同。

TL;博士什么我不知道是我怎么会去考虑每一个提交于master,一个接一个将它们合并到rewrite,所以我可以在我自己的节奏去做,可能出来的订单,如果需要。

回答

1

您可以使用git cherry-pick命令将特定的提交到您的分支。

您也可以使用gitk --all来查看所有提交,并选择您想要以交互方式樱桃选择到您的分支。

+0

对于一些额外的保险,你可以'git checkout rewrite && git checkout -b rewriteMerge'这将给你一个相同的分支来启动和执行你的樱桃采摘。这样,如果有的话,在任何时候,都会出现错误,回到原来的位置会更容易一些。当然还有其他的方法(例如重置和稍后基于最终的'rewrite' commit shaVal创建一个新的分支),但这种方式通过简单地改变分支就可以给你一些有形的和可访问的东西。 – tniles09