如何在Git中编辑我以前的提交?

时间:2013-08-21 03:22:56

标签: git

这就是我的所作所为:

  1. 通过编辑文件修复错误。
  2. git commit -a -m "comment ... "git push
  3. 在我推送此提交后,我发现我错过了某些内容,因此我需要重新编辑该文件并再次推送。
  4. 问题是,我不想创建新的提交,--amend是个不错的选择吗?

2 个答案:

答案 0 :(得分:1)

您可以使用交互式rebase并压缩最后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将引导你完成最后两次提交,你可以压缩它们(以及其他选项,如reword等)。

注意:如果您已将提交推送到服务器,请不要重新定位。

答案 1 :(得分:-1)

是的,您可以git add已编辑的文件git commit --amend,然后再次推送 - 只要您不介意编辑公共历史记录,这可能会给某些人带来不便。服务器可能会拒绝非快进推送,但您可以使用git push --force覆盖它,或者如果服务器配置得非常严格,则从服务器删除分支然后推送。

如果重写历史不是一个合理的选择,只需做一个新的提交并说“oops”:)