使用 IntelliJ 修改 git 提交消息

可以使用 IntelliJ修改 git 提交消息,还是应该使用命令行?

请问这怎么做呢?

72964 次浏览

Amend is supported: invoke "Commit Changes" and select the checkbox "Amend commit" in the Commit Dialog. Then press "Commit" button, and the commit will be amended to the previous one.

然而,这种支持是有限的:

  • 你不能看到提交的细节被修改,
  • 如果您没有任何未提交的更改(例如,您只想更改前一次提交的消息,而不想向其添加更多更改) ,那么您将无法调用“ Commit”。

可以在重建基期间编辑提交消息。从 VCS菜单中调用 Rebase命令,确认分支设置,然后单击 Rebase 按钮。您将看到一个未推送提交的列表。从要编辑的邮件左侧的下拉列表中选择 reword操作。

查看 改写历史上的 git 文档,了解有关其他 rebase 操作的详细信息。

终于找到了一个解决办法. . 这个问题困扰了我好几天。

  1. 转到版本控制-日志选项卡
  2. 选择修改后的版本,右键单击并说“将当前分支重置到此处”
  3. 选择“软”并点击重置,这是非常重要的,你只需要点击软,以便您的变化不会丢失。
  4. 签入版本控制,本地更改,您的更改将在同一个变更列表中可用
  5. 右键单击变更列表并选择提交。
  6. 它将显示您以前的提交消息,现在您可以修改评论,并说提交和推送

    Note: This solution uses android studio as intellij platform.
    

你也可以到你的 git 文件夹,输入一个终端和 shell,比如 powershell,cmd 或者 bash (取决于你的系统) ,然后输入:

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

公平地说,这样做的最快方法是通过命令行。我知道 OP 要求通过 IntelliJ 来做这件事(这就是我如何发现这个问题的,我试图在 PHPStorm 中做这件事) ,但是说真的,通过命令行做这件事要容易得多。

在终端/命令提示符的正确文件夹中键入

git commit --amend

然后会显示最后一条提交消息,只需编辑文本并保存文件,任务完成!

如果您想要更改编辑器(它默认为 vi) ,那么使用这个命令,将“ vim”更改为您选择的编辑器。

git config --global core.editor "vim"

也就是说,windows 用户可能希望..。

git config --global core.editor "notepad"

资料来源: https://help.github.com/articles/changing-a-commit-message/

View = > Tool Windows = > Version Control (视窗(Alt + 9)/OS X (Cmd + 9))

IntelliJ 2017.1及更高 = > 转到 木头,右键单击 + 重复一遍或按 F2。

IntelliJ rename commit

While you are on the same branch, ( your checked out branch is the same )

在 Log 选项卡中,选择提交并按 F2(Reword)。

在 JetBrains 这会打开屏幕底部的版本控制日志选项卡 Go to Log,您可以看到您上次执行的提交 右键单击它,选择 undo commit

找到了!您已经恢复了所有的提交,并且消息已被删除。如果只想更改提交消息,还可以选择软重置

以2018.3年为例,与2017.1年相同

Alt + 9(版本控制窗口)

And right click -> context menu click "Reword... F2 "

OR

你可以编辑邮件。

In IntelliJ 2021.3 it's as simple as selecting the "Edit Commit Message..." menu drop down.

Screenshot of IntelliJ menu item

This is available in the Git Tool Window. And also in the Compare branch window if you have the same branch checked out, otherwise it's greyed out.