git - Git中编辑提交信息不正确

怎样更改消息? commit还没有push。

时间:

git commit --amend

将打开你的编辑器,允许你修改最近一次commit的提交信息。 此外,你可以在命令行中直接设置提交信息:

git commit --amend -m "New commit message"

然而多行提交消息或者小的更正,这可能会使更多的繁琐输入。

在执行操作之前, 请确保你没有任何工作副本更改, 或者能够顺利提交过。

改变你已经推送到远程分支上的提交信息。

如果已将提交推送到远程分支同步,那么你需要强制推送的提交,

git push <remote> <branch> --force
# Or
git push <remote> <branch> -f

WARNING : 强制推送将覆盖一个远程分支和本地的状态。 如果有远程分支上提交的内容无需本地分支中,你将 丢掉这些提交。

WARNING : 小心。提交修改后,你已经和他人分享。 每一个拥有其一份拷贝的旧的提交需要重同步所做的工作和你的新提交,可以推断出应该用于分隔两个重新编写,因此请务必配合其他人在尝试重写提交历史,或仅共享同时避免重写共享。

文档

git commit --amend -m "your new message"

就像前面提到的, git commit --amend是覆盖上次提交的方式。 还有一个需要注意的: 如果你还想 覆盖该文件,该命令应该为

git commit -a --amend -m "My new commit message"

你还可以使用git filter-branch

git filter-branch -f --msg-filter "sed 's/errror/error/'" $flawed_commit..HEAD

git commit --amend

注意,这将会尝试重写之间的每一份贡提交HEAD选择一个有缺陷的提交,应该选择与 msg-filter非常智能的命令 ;-)

我喜欢这种方式。

git commit --amend -c <commit ID>

否则,将会出现一个新的commit提交ID

你可以使用 Git Rebase 。 例如,如果要修改回 bbc643cd,运行

$ git rebase bbc643cd^ --interactive

在默认编辑器中, 修改希望'pick'到'编辑'的 行。

$ git add <filepattern>

现在你可以使用

$ git commit --amend

修改提交,然后,

$ git rebase --continue
  1. 如果只想修改最后一次提交信息,请执行以下操作:

    git commit --amend
  2. 3 如果要更改最后一个commit消息, 或者提交任何消息到那个地方,提供 HEAD~3git rebase -i命令:

    git rebase -i HEAD~3
...