问题描述
我是 git rebase 的新手并且做了一些有点古怪和愚蠢的事情。
所以假设我有这些提交,它们都修改了同一个文件 file.txt
a -> b -> c -> d -> e
我只想删除提交 c
。
我对此的策略是将 b
变基到 d
上,保留 d
的更改,使其看起来像这样
a -> b -> d -> e
我正在尝试使用此命令执行此操作
git rebase --rebase-merges --onto c^ c
这导致合并失败,我也用 -s ours
尝试过,但也失败了。
我应该怎么做才能实现这个目标?
解决方法
在这种情况下,您几乎肯定会遇到冲突,因为确实存在冲突,而且没有办法避免处理这种情况。您必须解决冲突,然后运行 git rebase --continue
。
这在每次提交修改不同文件时有效,因为涉及不同文件的提交通常不会发生冲突(除非有重命名或复制)。