505

我对这两个git和 GitHub 都是新手。我设法在我的 Mac 上本地设置了所有内容,因此现在我可以通过git(在命令行上,而不是在 Mac 应用程序上)将提交推送到 GitHub。

当我直接从 GitHub Web 界面推送提交时(例如快速修复错字),我有机会“评论”提交,GitHub 给了我提交标题和提交描述。我觉得这非常有用。

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

4

4 回答 4

1012

还有另一种更直更清晰的方式

git commit -m "Title" -m "Description ..........";
于 2014-04-07T10:01:15.137 回答
471

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

在此处输入图像描述

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

在此处输入图像描述

写完所有需要的内容后,要返回 git,首先应该退出插入模式,然后按ESC。现在通过在键盘上输入:wq(w - 写,q - 退出)关闭 Vim 编辑器并保存更改:

在此处输入图像描述

并按ENTER

在 GitHub 上,此提交将如下所示:

在此处输入图像描述

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

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

来自 VS Code 文档网站:VS Code as Git 编辑器

动图演示:在此处输入图像描述

于 2016-04-05T13:15:40.107 回答
67
git commit -a -m "Your commit message here"

将使用提交消息快速提交所有更改。Git 提交的“标题”和“描述”(正如你所说的那样)只不过是第一行,提交消息中的其余行,按照惯例,通常用空行分隔。所以使用这个命令只会提交“标题”而没有描述。

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

在 bash 中,快速的方法是:

git commit -a -m $'Commit title\n\nRest of commit message...'
于 2013-04-20T15:53:40.433 回答
1

如果您想在创建提交后改进带有标题和正文的提交消息,您可以改写它。这种方法更有用,因为您只有在编写代码之后才知道代码的作用。

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.
于 2015-12-09T09:43:41.043 回答