Git-使用当前在我的工作目录中的文件修改旧提交

时间:2018-08-30 11:46:35

标签: git git-rebase

因此,我提交了一个错误的文件,这不是我的最后一次提交(它是HEAD~9)。我想用当前工作目录中的版本替换该文件。

我打算进行一次变基交互,但是我意识到我需要首先清理我的工作目录,该目录中的文件要替换HEAD~9中的旧版本。

有类似的问题,但找不到解决此情况的答案。在这种情况下该怎么办?

1 个答案:

答案 0 :(得分:3)

听起来interactive rebase会给您您想要的东西。您首先需要在“临时”提交中提交文件。然后,通过交互式变基,您可以fixup HEAD~9

  1. git add <file>
  2. git commit -m 'fixup commit'
  3. git rebase -i HEAD~10
  4. 在编辑器中,直接在HEAD~9之后移动fixup提交,并为f将其设置为fixup
  5. 保存并关闭编辑器

fixupsquash,但保留被压缩的提交的提交消息。如果HEADHEAD~9之间的任何提交也都修改了该文件,则在重播提交时可能会发生合并冲突。