首先,在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]。
源