我经常遇到重复提交的问题,同时用git维护分支。
让我们说我已经分叉了一个存储库并提交了修复程序。我将更改推送到我的分叉存储库,并可以在github上看到更改。到目前为止一切顺利。
问题在于项目维护者将我的修复程序合并到他们的分支中,然后我更新以保持与主项目同步。我的修复程序在我的历史记录中会出现两次,orginial以及项目维护者合并的时间。
有解决方案吗?最后清理我的树真好。
答案 0 :(得分:3)
这些承诺是否被挑选出来,而不是合并?如果将相同的提交合并到两个分支中,然后将其中一个合并到另一个中,则提交不会显示两次。您将完全看到您在历史记录中的期望 - 两个合并提交与给定的提交作为父级,然后这两个分支最终合并:
- o - o - o - o - o - o - o
\ \ / /
\ o - o - o /
\ \ /
o - o - o - o - o
这是合并而不是挑选的一个非常好的理由 - 并且为了促进合并,重要的是确保从可能想要合并它们的所有分支的共同祖先开始您的主题分支,以便那些功能/错误修正可以干净地合并,而不需要选择任何其他内容。
来自op 的注释:提交是从Github的fork队列中应用的,它在后台使用cherry-pick。接受了,谢谢。