为什么GitHub邀请我输入两个提交消息而不是一个?

时间:2014-09-30 22:20:40

标签: git github commit git-commit

这可能是一个基本问题,但我认为值得一提。 在GitHub上,单击加号将文件添加到存储库 在存储库名称旁边的标记处,您会看到一个文本区域,您可以在其中输入文件的内容,然后是 两个 提交消息:

enter image description here

但是,当我使用git commit -m时,我只能指定 一个 消息。因此我的困惑......

GitHub上的可选扩展描述是否最终存储在存储库中?在克隆了有问题的GitHub存储库之后,我将如何查看此类消息?

据我所知,git commit只允许你指定一条消息(使用-m标志),但也许我遗漏了一些东西。有没有办法指定第二个 扩展消息,不知何故?

3 个答案:

答案 0 :(得分:3)

TL; DR

  

[...] 两个 提交消息[...]?

两个?没有;只有一个。这两个文本字段的内容组合在一起以生成单个提交消息。 GitHub使用两个文本字段而不是一个只是诱骗用户很好地格式化它们的提交消息。

详细

git-commit手册页有一个名为 Discussion 的部分,其中包含有关提交消息的首选格式的以下指南:

  

虽然不是必需的,但开始提交消息是个好主意   一个短的(少于50个字符)总结变化的行,   然后是一个空白行,然后是更详尽的描述。该   直到提交消息中第一个空行的文本被视为   提交标题,并在整个Git中使用该标题。

当用户即将在GitHub网站上直接创建提交时,她会被邀请填写两个文本字段:

  1. 第一个文本字段对应于汇总更改的单个短(小于50个字符)行
  2. 第二个文本字段对应于更详尽的描述
  3. 通过提供两个文本字段而不是一个,GitHub帮助用户遵循规定的提交消息策略。请特别注意,如果第一个对话框中输入的字符数超过50,则会收到警告消息:

    enter image description here

    如果您在本地仓库和git fetch中运行git log,您将看到提交消息由两个文本字段的内容组成:

    $ git log
    commit 0ef92f231cfbf2d4faf8f006e8ba19fc8169c099
    Author: Jubobs xxxxxxxxxxxxxx
    Date:   Wed Oct 1 10:39:15 2014 +0100
    
        write 'Hello, World!'
    
        - foo
        - bar
        - baz
    

答案 1 :(得分:1)

好的,我用" git clone"克隆了GitHub存储库。 并通过运行" git log"或" git commit --amend"一世 现在可以看到消息由第一个组成 50个字符的提交消息行后跟一个空格 然后是可选的扩展消息。

感谢。

答案 2 :(得分:1)

GitHub做了很好的工作" GUIfying" Git的许多操作。

如你所说,这里的' git -m"消息"将提供所谓的"短消息"当您使用git log时,它会显示为标题。

但是,git支持更多文本 - 作为提交的一部分存储。这就是GitHub在第二个编辑领域为您提供的内容;有机会在提交消息中添加更多细节。 当您在本地拥有存储库时(由于git clone),您可以看到'额外的'修改日志输出时的数据(例如git log --pretty==fuller)。