所以我提交了一个错误的文件,这不是我的最后一次提交(它是HEAD~9
)。我想用我目前工作目录中的版本替换该文件。
我打算做一个rebase交互,但我意识到我需要首先清理我的工作目录,其中包含我希望在HEAD~9
中替换旧版本的文件。
有类似的问题,但没有找到解决这种情况的答案。在这种情况下,这是继续进行的方式?
听起来像interactive rebase会给你你想要的东西。您首先需要在“临时”提交中提交该文件。然后通过交互式rebase你可以fixup
HEAD~9
。
git add <file>
git commit -m 'fixup commit'
git rebase -i HEAD~10
HEAD~9
之后提交并将其设置为f
以获取fixup
。fixup
是一个squash
但保留了提交被压缩的提交消息。如果HEAD
和HEAD~9
之间的任何提交也修改了该文件,那么在重放提交时可能会出现合并冲突。