自动变基以删除修改文件的提交?
Automatic rebase to drop a commit that modifies a file?
我是 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
.
这在每次提交修改不同文件时有效,因为涉及不同文件的提交通常不会发生冲突(除非有重命名或复制)。
我是 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
.
这在每次提交修改不同文件时有效,因为涉及不同文件的提交通常不会发生冲突(除非有重命名或复制)。