Git - 使用当前在我的工作目录中的文件修改旧提交
Git - Modify an old commit with the file currently in my working directory
所以我提交了一个错误的文件,这不是我最后一次提交(它是 HEAD~9
)。我想用我当前在工作目录中的版本替换该文件。
我打算做一个 rebase 交互,但我意识到我需要先清理我的工作目录,其中包含我想替换 HEAD~9
中的旧版本的文件。
有类似的问题,但没有找到解决这种情况的答案。这种情况应该怎么处理?
听起来 interactive rebase 可以满足您的需求。您首先需要在 "temporary" 提交中提交文件。然后通过交互式变基你可以 fixup
HEAD~9
.
git add <file>
git commit -m 'fixup commit'
git rebase -i HEAD~10
- 在编辑器中,直接在
HEAD~9
之后移动修复提交,并将其设置为 f
for fixup
。
- 保存并关闭编辑器
A fixup
是 squash
但保留了被压缩到的提交的提交消息。如果 HEAD
和 HEAD~9
之间的任何提交也修改了该文件,那么在重放提交时您可能会遇到合并冲突。
所以我提交了一个错误的文件,这不是我最后一次提交(它是 HEAD~9
)。我想用我当前在工作目录中的版本替换该文件。
我打算做一个 rebase 交互,但我意识到我需要先清理我的工作目录,其中包含我想替换 HEAD~9
中的旧版本的文件。
有类似的问题,但没有找到解决这种情况的答案。这种情况应该怎么处理?
听起来 interactive rebase 可以满足您的需求。您首先需要在 "temporary" 提交中提交文件。然后通过交互式变基你可以 fixup
HEAD~9
.
git add <file>
git commit -m 'fixup commit'
git rebase -i HEAD~10
- 在编辑器中,直接在
HEAD~9
之后移动修复提交,并将其设置为f
forfixup
。 - 保存并关闭编辑器
A fixup
是 squash
但保留了被压缩到的提交的提交消息。如果 HEAD
和 HEAD~9
之间的任何提交也修改了该文件,那么在重放提交时您可能会遇到合并冲突。