1

我希望能得到一些想法。我有三个分支:

  • 掌握
  • 具体的
  • 特征分支

master包含通用代码库,因此如果我想稍后进行分支以创建一种新的实现类型,我可以轻松地做到这一点。但现在specific是我的主要开发分支。

所以我分支specificfeature-branch测试一个新功能,一旦我满意,我就合并feature-branchspecific.

但是有一些提交是特定于实现的specific,我不想合并回master。大多数代码是通用更改,我确实想合并回来。

我将大约 30 个更改feature-branchspecific. 在这 30 个中,大概有 20 个我想从 合并specificmaster.

对我来说最好的方法是什么?

我应该只挑选要合并的每个提交master吗?如果是这样,我是否应该按时间倒序排列(即,获取我想要合并的最旧的提交,然后是第二旧的提交,依此类推 - 樱桃将它们全部重新放入master)。

欢迎任何想法。谢谢

4

1 回答 1

1

最好(如果您还没有推specific送到任何远程仓库):

  • 使用交互式 rebasespecific重新排序分支中的提交(一个 for master,然后是特定于实现的一个)。
  • 只合并前 20 个提交master(这将是一个快进合并)
    您可以在最近的 20 个提交上创建一个临时分支(git branch tmp SHA1),然后合并该分支(git checkout master ; git merge tmp

这样一来,没有挑选樱桃,意味着没有重复提交。


如果已推送特定内容,则可以从较旧的提交到最新的提交进行挑选。

在 " cherry-pick A..B" 形式中,A应该比B. 如果它们的顺序错误,该命令将静默失败。

于 2014-10-31T06:49:11.243 回答