如何将即将进行的提交压缩为上一次提交

  • 本文关键字:提交 上一次 压缩 git
  • 更新时间 :
  • 英文 :


首先,在zsh上,我使用的是git自动获取插件。如果它是在壁球完成后自动发生的,并导致我最终进入rebase,这可能会搞砸。

我只想用新的提交来更新我以前的提交。我相信挤压是解决这个问题的方法,在这里提交并用前一个提交挤压它;因此,最新提交将用新提交进行更新。

如果最近的提交是:

* b5d2f27 Update Contract

基本上,如果我最近的提交是b5d2f27,并且我已经在本地修改了一些文件。我只想在提交b5d2f27中包含这些更改。


我已经遵循了:使用Git将我最后的X提交压缩在一起,但它通常以rebase结束。

git reset --soft HEAD~1
git add -A .
git commit --quiet --no-verify --edit 
-m "$(git log --format=%B --reverse HEAD..HEAD@{1})"
git push -f

您可以进行

git rebase -i HEAD~2

然后,在交互窗口中,将第二个pick更改为fixup


或者,如果您还没有进行新的提交,但只想在上次提交中包含您的最新更改,您可以进行

git commit --amend

您可以尝试

git rebase --interactive [commit-hash]

[commit hash]-是在您要重写的第一个提交之前提交的哈希。你可以把整件事读成:

将我的所有提交合并到提交之上[commit hash]

最新更新