Git 将修改添加到以前的commit

  在实际开发的时候,有时候我们可能会遗漏了某些文件的修改。等到我们发现的时候,有可能已经过了有一段时间了「上一个commit 已经不是我们想要补充的」。

  当然,Git 也考虑了这种情况。所以commit 的时候,使用fixup参数指定要修改的commit hash;然后再进行reabase 操作就可以了。

git commit --fixup=OLDCOMMITHASH
git rebase --interactive --autosquash OLDCOMMITHASH^

  rebase 命令中的autosquash 参数是用来将fixup 类的commit 放到指定的位置,这里说的位置就是后面跟着的OLDCOMMITHASH^「代表指定commit 的前一个」

注意事项

  这种方法虽然能修改旧commit,但是它还是有一些缺陷的:

  • 旧commit hash 会变化
  • commitDate「旧commit 之后的所有commit」 会发生变化

参考

您的浏览器已过时

要正常浏览本网站请升级您的浏览器。现在升级

×