【问题标题】:How to commit a change with both "message" and "description" from the command line? [duplicate]如何从命令行同时使用“消息”和“描述”提交更改? [复制]
【发布时间】:2013-04-13 21:16:41
【问题描述】:

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

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

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

【问题讨论】:

标签: git github


【解决方案1】:

还有另一种直截了当的方法

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

【讨论】:

  • 嗯,不错的 hack,但我更喜欢 the answer below,因为它为我提供了一种用换行符轻松输入长描述的方法。
  • 我也这样做 ^ 但我觉得如果你在提交后进行提交,你不想每次都打开 VIM。您可以将\n 添加到描述中吗?例如git commit -m "Title" -m "Description....\nNew line....\nAnother new line
  • 为什么不@James111
  • 在描述中添加\n 来添加换行符不起作用。参考this StackOverflow post
  • @James111 如果你要使用\n,你需要把它放在$''里面,像这样:$'test\ntext'
【解决方案2】:

使用不带任何标志的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 editor

Gif 演示:

【讨论】:

  • 我认为在保存提交时会有一些变化,只需按 ctrl+x,它会提示您按 y 保存,然后按 Enter,git push 应该可以完成这项工作
  • without any flags - 好吧,你可以使用一些标志,例如--all --no-verify 等等..(没有检查,但可能除了-m之外的所有标志)跨度>
【解决方案3】:
git commit -a -m "Your commit message here"

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

如果您想提交更长的消息,可以这样做,but it depends on which shell you use

在 bash 中,快速的方法是:

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

【讨论】:

  • 使用a 标志,git 将暂存所有修改过的文件,这不是通常需要的。我建议从您的示例中删除 a 标志。
【解决方案4】:

如果您想在创建提交后改进带有标题和正文的提交消息,您可以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.

【讨论】:

  • 您的方法确实有效,但仅限于非常具体的情况。如果你已经推送了你的提交(没有一些黑魔法:)),你就不能这样做,更重要的是,它并不真正符合 OP 所描述的情况。
猜你喜欢
  • 1970-01-01
  • 2011-04-19
  • 2016-05-23
  • 2012-09-10
  • 2019-03-03
  • 2011-02-13
  • 2018-06-04
  • 2020-12-24
相关资源
最近更新 更多