如何使用命令行中的“message”和“description”进行更改?

时间:2013-04-20 15:50:38

标签: git github

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

当我直接从GitHub网页界面推送提交时(例如快速修正拼写错误),我有机会“评论”提交,GitHub给了我一个提交标题和一个提交< EM>描述。我发现这非常有用。

但是,当我git push来自本地机器时,git打开我的默认编辑器:所以我写了提交注释,然后GitHub自动将它分为title和“body”。有没有办法从终端评论提交?

4 个答案:

答案 0 :(得分:611)

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

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

答案 1 :(得分:249)

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

enter image description here

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

enter image description here

一旦你编写了所需的全部内容,要返回git,首先你应该退出插入模式,按 ESC 。现在通过在键盘:wq上键入来保存更改来关闭Vim编辑器(w - 写,q - 退出):

enter image description here

并按 ENTER

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

enter image description here

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

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

来自VS Code docs网站: VS Code as Git editor

Gif演示:enter image description here

答案 2 :(得分:47)

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

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

如果您想提交更长的邮件,可以执行此操作,but it depends on which shell you use

在bash中,快速的方法是:

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

答案 3 :(得分:0)

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

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.