git 使用来自其他分支的提交,但不使用合并

u3r8eeie  于 2023-01-28  发布在  Git
关注(0)|答案(2)|浏览(162)

我的问题可能不是git的标准用法,但我有一个分支(表示为A),它实现了一些特性,可能需要很长时间来批准。它还没有合并到master。现在我正在处理分支B,希望有来自A的特性来进行调试。但我不想将A合并到B,因为这会污染我的提交历史。有没有可能告诉git合并但不进行任何操作?

cuxqih21

cuxqih211#

一个简单的解决方案是创建一个新的分支“C”作为B的副本,然后将A合并到C中。这样B就可以保持原样,但您仍然可以测试您喜欢的任何内容。这是我个人更喜欢的,因为在我看来,这是您实际上想要实现的。您不必发布C,但您可以选择发布它,例如,如果合并很复杂,您希望保存它。
另一个替代方法是git merge <name-of-branch> --no-commit --no-ff
在这里您可以找到更多详细信息:Git merge without auto commit

i7uq4tfw

i7uq4tfw2#

你可以把B放在A的上面,然后,当你决定把B合并到分支mainOrMaster中时,你可以这样做来清除A中的内容:

git rebase A B --onto mainOrMaster

这将获得组成B的所有提交,这些提交不是A的一部分,并将它们放在mainOrMaster之上。

相关问题