【发布时间】:2012-05-15 13:16:48
【问题描述】:
我在使用长变基时遇到的一个问题是必须解决冗余冲突。假设我有一个包含一系列提交的分支,它不断修改一个函数,而最终提交完全删除了该函数。
当我执行rebase master 时,Git 会天真地依次应用每个提交。这意味着我需要用 master 的提示来解决这些提交中的每一个——即使最终这些工作都被浪费了。
什么是处理这种情况的好方法?也许我应该为整个分支生成一个补丁,然后将其应用于 master?如果是这样,有什么办法可以保留一些历史吗?想法、建议等。
【问题讨论】:
-
我认为你需要使用git rerere,但我没有这方面的经验。
-
据我了解,如果您将来需要重新应用合并,rerere 会有所帮助。但我试图避免解决它们一次。
-
如果你有一个特性分支,它添加了一个稍后在同一个特性分支中删除的函数,你可能应该了解
git rebase -i并在master之后重新定位它之前修复特性分支。 (功能分支应包含正确顺序的最少补丁,交互式变基有助于获取该目标。)
标签: git git-rebase git-diff