【问题标题】:Edit an incorrect commit message in command line Git [duplicate]在命令行 Git 中编辑不正确的提交消息 [重复]
【发布时间】:2023-03-15 11:58:02
【问题描述】:

我在 linux 的命令行中使用 Git,而不是作为图形客户端。

我在提交消息中写错了。

如何更改消息?

【问题讨论】:

标签: linux git


【解决方案1】:

如果它是您从您的仓库提交的最后一个补丁,它将位于您的 git 日志 的顶部。

在这种情况下,只需运行以下命令并再次推送。

git commit --amend

然后,修改您的消息并推送相同的消息。由于您没有修改文件中的任何更改,因此它不应该给出任何错误。

如果某些补丁已经出现在您的顶部。然后你还必须检查合并依赖项。在这种情况下,

git reset --hard 你的提交

  • 运行 git commit --amend

  • 推回去

  • git commit --amend -C commit-id
  • 推回去

但是你也需要考虑合并依赖。

**

更好的方法是:

**

可以使用git rebase,比如想修改回commit xyz,运行

$ git rebase --interactive xyz^ 在默认编辑器中,将要修改其提交的行中的“pick”修改为“edit”。进行更改,然后使用之前的相同消息提交它们:

$ git commit -a --amend --no-edit 修改提交,然后

$ git rebase --continue 返回到上一个头部提交。

【讨论】:

    【解决方案2】:

    如果是最近的提交,你可以这样做:

    git commit --amend
    

    这会打开带有最后一条提交消息的编辑器,并允许您编辑该消息。 (如果要清除旧消息并使用新消息,可以使用 -m。)

    然后当你推动时,这样做:

    git push --force <repository> <branch>
    

    使用 push --force 时要小心。如果其他人将更改推送到同一分支,这些更改将被销毁。

    任何已经拉取的人都不会收到错误消息,他们需要通过执行以下操作来更新(假设他们自己没有进行任何更改):

    git fetch origin
    git reset --hard origin/master # Loses local commits
    

    【讨论】:

      【解决方案3】:

      要更改最近(未推送)提交的提交消息,您可以简单地使用

      git commit --amend -m 'new message'
      

      在过去进一步更改(未推送的)提交的消息:

      git rebase -i [COMMIT BEFORE THE FIRST YOU WANT TO EDIT]
      

      【讨论】:

      • 我已经尝试过了,但它不起作用。
      • 对不起,之前没有提到提交已经被推送
      猜你喜欢
      • 2011-11-27
      • 2010-10-02
      • 2010-10-12
      • 2018-06-04
      • 2011-04-25
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多