我有一个提交有一些小错误。我不想在新提交中发送错误修复,因为我将发送拉取请求,因此我希望更改尽可能简单。所以我想删除旧的提交,但保留它的更改并在我应用我的错误修复后发送一个新的提交。这可能吗?
答案 0 :(得分:2)
如果我理解正确,有两种方法。首先很简单,只需使用:
git commit --amend
第二个有点复杂,但更灵活。您无需删除旧提交。您可以使用旧提交之上的错误修复进行新提交。所以,历史将是这样的:
Old commit ---> New commit
现在你可以执行:
git rebase -i HEAD~2
你会看到这样的事情:
pick hash new commit
pick hash old commit with bugs
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
只需为旧提交写squash
而不是pick
并保存更改。在此之后,您将编辑用于压缩提交的提交消息,并且两个提交将被压缩为一个。有关这方面的更多信息,您会发现 - 7.6 Git Tools - Rewriting History
答案 1 :(得分:1)
修改是您正在寻找的。它只是添加了对先前提交的更改。
git commit --amend