如何用“;message"和“;description"从命令行?

我是git和GitHub的新手。我成功地在我的Mac上设置了所有东西,所以现在我可以通过git(在命令行上,而不是Mac应用程序上)将提交推到GitHub。

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

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

341313 次浏览
git commit -a -m "Your commit message here"

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

如果你想提交一个更长的消息,你可以这样做,但这取决于你使用哪个外壳

在bash中,最快的方法是:

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

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

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

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

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命令。配置的编辑器将打开(在本例中是Vim):

enter image description here

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

enter image description here

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

enter image description here

并按输入

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

enter image description here

作为提交编辑器,你可以使用< >强VS代码< / >强:

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

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

Gif演示:enter image description here