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

问题描述 投票:1回答:1

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

我打算做一个rebase交互,但我意识到我需要首先清理我的工作目录,其中包含我希望在HEAD~9中替换旧版本的文件。

有类似的问题,但没有找到解决这种情况的答案。在这种情况下,这是继续进行的方式?

git git-rebase
1个回答
3
投票

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

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

fixup是一个squash但保留了提交被压缩的提交消息。如果HEADHEAD~9之间的任何提交也修改了该文件,那么在重放提交时可能会出现合并冲突。

© www.soinside.com 2019 - 2024. All rights reserved.