1

有两个分支:
- 生产分支,其中包含客户接受的产品
- 开发分支,开发人员在其中进行令人毛骨悚然的实验
曾几何时,年轻的开发人员决定从生产分支分支他的超级功能。
所以问题:
1)。如何在不合并 prod 分支的所有特性的情况下将生产分支转移到开发。图片解释得更好:

在此处输入图像描述

第一个问题是为了练习,另一个问题是为了好奇:
2)。与 1) 相同 + 我还需要从生产中保留功能分支
3)。像 1),但我想要传输一致的提交集“F”并且不希望传输“E”提交
4)。我想转移 E 和 F,不包括 2 个提交,1 个来自集合“E”的提交和 1 个来自集合“F”的提交。
5)。 我可以自动解决冲突以支持其中一个分支吗?

我找到了git cherry-pick命令,但似乎这不是整个分支的最佳方式。我应该学习git rebase还是其他?哪种方式最适合我的问题?

感谢并为我糟糕的英语感到抱歉。

4

1 回答 1

3
git checkout develop
git cherry-pick production..feature

完全按照您对第一个问题的要求,它会挑选出所有feature不属于production's 历史的提交。对于您的其余问题,在gitrevisions 手册页中找到的各种其他指定提交范围的方法都可以使用,在您熟悉这些方法之后,如何指定列表或您开始似乎有点乏味想要随时进行修改,您将准备好欣赏rebase -i

一个小细节:cherry-pickrebase做出新的提交。

于 2014-05-07T17:41:54.000 回答