如何解决如何使用 git rebase 保留调整后的合并提交冲突和非冲突的自动合并结果?
我正在使用 git rebase -i --rebase-merges <commit>
更改一些提交消息,效果很好。但是我想保留的合并提交有更改或冲突解决方案;有没有简单的方法可以重做它们?
我目前的工作如下:
- 在交互式 rebase 概述中,将
merge -C <commit>
更改为merge -c <commit>
以确保不会自动提交合并提交 - 当合并提交完成时,检查原始合并的状态:
git checkout <commit> -- .
(需要-- .
以防止 HEAD 被重置为 ) - 查看暂存区
- 继续变基
解决方法
这里没有王道:当你做了一个 evil merge 并要求 Git 重新执行那个合并(使用 git rebase -r
或类似的),Git 根本不会做一个邪恶的合并.
出于这个原因,有时最好进行非邪恶合并并跟进修复提交,即使非邪恶合并在某种意义上是“坏的”(例如,不编译或包含已知的漏洞)。如果您不喜欢这种方法,有时您可以在进行合并之前 进行提交,这样最终的非恶意合并就很好。但这可能会将“坏处”推入那个提交(合并前的修正),让你的设置同样糟糕。
您可以选择一些不好的解决方案:进行邪恶的合并并避免重新调整它;做一个邪恶的合并,并在重新调整它时付出额外的努力;或者通过使用修复提交来避免邪恶的合并。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。