这是我所做的:
- 通过编辑文件修复错误。
git commit -a -m "comment ... "
和git push
- 在我 push this commit 之后,我发现我遗漏了一些东西,所以我需要重新编辑文件并再次推送它。
- 问题是,我不想创建一个新的提交,是
--amend
一个不错的选择吗?
这是我所做的:
git commit -a -m "comment ... "
和git push
--amend
一个不错的选择吗?您可以使用交互式变基并压缩最后 2 条提交消息,如下所示
//commit with your new changes
git commit
git rebase -i HEAD~2
//This launches an interactive rebase where you can squash your last 2 commits into a single commit.
现在,您的 git 将运行您完成最后 2 次提交,并且您可以压缩它们(以及其他选项,如 reword 等)。
注意:如果您已将提交推送到服务器,请不要变基。
是的,您可以git add
编辑文件,git commit --amend
然后再次推送 - 只要您不介意编辑公共历史记录,这可能会给某些人带来不便。服务器可能会拒绝非快进推送,但您可以使用 覆盖它git push --force
,或者如果服务器配置为非常严格,则通过从服务器中删除分支然后推送来覆盖它。
如果重写历史不是一个合理的选择,只需进行新的提交并说“哎呀” :)