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

wha*_*ide 332 git github

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

当我直接从GitHub web界面推送提交时(例如快速修复拼写错误),我有机会"评论"提交,GitHub给了我一个提交标题和提交描述.我发现这非常有用.

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

zzl*_*ani 674

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

git commit -m "Title" -m "Description ..........";
Run Code Online (Sandbox Code Playgroud)

  • 嗯,一个不错的黑客,但我更喜欢[下面的答案](http://stackoverflow.com/a/36427485/3810038),因为它为我提供了一种方法来轻松地用换行符键入长描述. (28认同)
  • 我也这么做^但我觉得如果你在提交后做了提交,你不想每次都打开VIM.你可以用这种方式将`\n`添加到描述中吗?例如`git commit -m"标题"-m"描述.... \n新线.... \n另一条新线` (8认同)
  • 在描述中添加“\n”来添加换行符不起作用。请参阅[此 StackOverflow 帖子](/sf/ask/354519441/)。 (5认同)
  • @James111如果你要使用 \n 你需要把它放在 `$''` 里面,如下所示: `$'test\ntext'` (5认同)
  • 为什么不@ James111 (3认同)

Mik*_*ail 287

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

在此输入图像描述

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

在此输入图像描述

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

在此输入图像描述

并按ENTER.

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

在此输入图像描述

作为提交编辑器,您可以使用VS代码:

git config --global core.editor "code --wait"
Run Code Online (Sandbox Code Playgroud)

来自VS Code docs网站:VS Code作为Git编辑器

Gif演示: 在此输入图像描述

  • “没有任何标志” - 嗯,有一些标志你可以使用,例如“--all”“--no-verify”等等。(还没有检查,但可能除了“-m”之外的所有标志) (2认同)

Yuv*_*dam 51

git commit -a -m "Your commit message here"
Run Code Online (Sandbox Code Playgroud)

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

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

在bash中,快速的方法是:

git commit -a -m $'Commit title\n\nRest of commit message...'
Run Code Online (Sandbox Code Playgroud)

  • 使用“a”标志,git 将暂存所有修改过的文件,但这不是通常所期望的。我建议从您的示例中删除“a”标志。 (16认同)