我可以通过git将提交推到GitHub(在命令行上,而不是Mac应用程序上)。

当我直接从GitHub web界面推送提交时(例如快速修复一个错字),我有机会对提交进行“评论”,GitHub会给我一个提交标题和提交描述。我发现这很有用。

尽管如此,当我从本地机器推送git时,git会打开我的默认编辑器:所以我写了提交注释,然后GitHub会自动将其分为标题和“body”。有办法从终端提交漂亮的评论吗?


当前回答

如果您想在创建提交后改进带有头部和主体的提交消息,您可以改写它。这种方法更有用,因为只有在编写完代码之后,您才知道代码的功能。

git rebase -i origin/master

然后,你的提交将显示:

pick e152ce2 Update framework
pick ffcf91e Some magic
pick fa672e1 Update comments

选择要改写并保存的提交。

pick e152ce2 Update framework
reword ffcf91e Some magic
pick fa672e1 Update comments

现在,您有机会添加标题和主体,其中第一行将是标题。

Create perpetuum mobile

Redesign laws of physics with a pinch of imagination. Open a wormhole in 23 dimensions. Add protection to avoid high instability.

其他回答

如果您想在创建提交后改进带有头部和主体的提交消息,您可以改写它。这种方法更有用,因为只有在编写完代码之后,您才知道代码的功能。

git rebase -i origin/master

然后,你的提交将显示:

pick e152ce2 Update framework
pick ffcf91e Some magic
pick fa672e1 Update comments

选择要改写并保存的提交。

pick e152ce2 Update framework
reword ffcf91e Some magic
pick fa672e1 Update comments

现在,您有机会添加标题和主体,其中第一行将是标题。

Create perpetuum mobile

Redesign laws of physics with a pinch of imagination. Open a wormhole in 23 dimensions. Add protection to avoid high instability.

还有一种更直接、更清楚的方法

git commit -m "Title" -m "Description ..........";

使用不带任何标志的git commit命令。配置的编辑器将打开(在本例中是Vim):

要开始输入,请按键盘上的INSERT键,然后在插入模式下创建一个更好的提交说明。例如:

一旦你写完了所有你需要的,要返回到git,首先你应该退出插入模式,为此按下ESC。现在关闭Vim编辑器,在键盘上输入:wq (w - write, q - quit):

,按“ENTER”。

在GitHub上,这个提交看起来像这样:

作为提交编辑器,你可以使用VS Code:

git config --global core.editor "code --wait"

从VS Code文档网站:VS Code作为Git编辑器

Gif示范:

git commit -a -m "Your commit message here"

将使用commit消息快速提交所有更改。Git提交的“title”和“description”(如你所称)仅仅是第一行,而提交消息中的其余行通常按照约定用空行分隔。因此,使用这个命令将只提交“标题”而不提交描述。

如果您想提交一个更长的消息,您可以这样做,但这取决于您使用的shell。

在bash中,最快的方法是:

git commit -a -m $'Commit title\n\nRest of commit message...'