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

我是git和GitHub的新手。 我设法在Mac上本地设置所有东西,现在我可以通过git (在命令行上,而不是在Mac上)将提交信息提交给GitHub。

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

不过,当我从本地机器git pushgit打开我的默认编辑器:所以我写的提交评论,然后GitHub自动将它分为标题和“身体”。 有没有办法从terminal提交漂亮的评论呢?

还有另外一个更直接更清晰的方法

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

使用没有任何标志的git commit命令。 只是git commit 。 然后Vim编辑器将打开

在这里输入图像说明

要开始input,请按键盘上的Insert键,现在您可以创build一个更好的提交,并说明您想要的内容。 例如

在这里输入图像说明

一旦你写完所有你需要的东西,你需要回到正常模式,对于那个按Esc 。 现在closuresVim编辑器,通过在键盘上input保存更改:wq (w – write,q – quit)

在这里输入图像说明

然后按Enter

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

在这里输入图像说明

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

将快速提交所有更改与提交消息。 Git commit“title”和“description”(就像你所说的那样)只不过是第一行,而commit文本中的其余部分,通常用空行来分隔。 所以使用这个命令只会提交“标题”而没有描述。

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

在bash中快速的方法是:

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

如果您想在创build提交后改进提交消息的头部和主体,则可以对其进行重新引用 。 这种方法更有用,因为只有在编写代码后才知道代码的作用。

 git rebase -i origin/master 

然后,你的提交将出现:

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

select你想要改写和保存的提交。

 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.