【发布时间】:2010-11-11 09:29:04
【问题描述】:
我有以下情况:
-
我对本地存储库进行了一些提交,然后将另一个分支(约 150 次提交)大量合并到主存储库中。里面有很多冲突。
-
现在,我想将我在合并之前所做的提交移动到推送之前。
通常情况下,我会使用rebase -i。
不幸的是,默认行为是打破我所做的一次合并提交,实际上添加了 150 多个提交以掌握到单独的提交中(我知道这就像我要使用变基而不是合并开始)——这对我来说是不好的行为有几个原因。
我很高兴发现 -p 标志用于 rebase,它保留了合并。
不幸的是,这实际上再次应用了相同的合并,并忘记了我在解决冲突方面的辛勤工作。再次——不良行为!
有我想要的解决方案吗?在合并后使用rebase -i 重新排序或编辑特定提交,而无需重复我的合并后操作?
谢谢!
【问题讨论】:
-
你看过git rerere吗?
-
git rerere现在无法帮助您,因为它会在您提交合并时记录冲突解决方案......除了在 git 的 contrib 目录中有一个名为 rerere-train.sh 的脚本,它“启动”rerere来自您已经进行的合并提交的数据库。