如何对 git 提交进行标记或分类

dee*_*on1 4 git

我有很多信息想要添加到提交中。此信息适用于自动和手动流程。示例包括团队的名称、状态(生成、开发、配置等)或票号。

有没有办法将此信息添加到提交中,或者我是否必须添加类似的标签TICKET-1234:<HASH>

use*_*170 7

有多种可用选项:

  • 如果您想要的只是为提交提供一个简短、易记的名称,您可以简单地使用 来标记它git tag。标记对象指向提交并包含附加消息,其本身由前缀为 的 ref 命名refs/tags/。默认情况下,fetchpush操作不会将标签与远程存储库同步,除非您传递--tags

  • 如果您需要在提交创建时存储信息,您可以将其包含在类似于 RFC822 的标头中提交消息的底部:

    Fixes: ticket #1234
    
    Run Code Online (Sandbox Code Playgroud)

    git commit命令甚至提供了一个内置--signoff选项,可以自动添加一个这样的标头。

  • 如果您需要存储随时间变化的较长形式的信息,请查看git notes

    添加、删除或读取附加到对象的注释,而无需接触对象本身。

    默认情况下,笔记保存到 并从中读取refs/notes/commits,但可以覆盖此默认设置。请参阅下面的选项、配置和环境部分。如果这个引用不存在,当第一次需要存储注释时,它会被悄悄创建。

    注释的典型用途是补充提交消息而不更改提交本身。注释可以通过 git log 与原始提交消息一起显示。为了将这些注释与存储在提交对象中的消息区分开来,这些注释像消息一样缩进,在一个未缩进的行“Notes (<refname>):”(或“Notes:” for refs/notes/commits)之后。

    与标签一样,默认情况下带有refs/notes/前缀的引用不会通过fetchandpush操作同步。您必须另外配置 git 来跟踪它们。