【发布时间】:2023-03-11 08:14:01
【问题描述】:
我有许多信息想添加到提交中。此信息适用于自动和手动流程。示例包括团队名称、状态(生成、开发、配置等)或票号。
有没有办法将此信息添加到提交中,还是我必须标记类似于TICKET-1234:<HASH>?
【问题讨论】:
-
是现有提交还是新提交?您始终可以在提交描述中添加您想要的任何信息。例如,添加票号是常见的做法,大多数系统都知道将其链接到票
标签: git
我有许多信息想添加到提交中。此信息适用于自动和手动流程。示例包括团队名称、状态(生成、开发、配置等)或票号。
有没有办法将此信息添加到提交中,还是我必须标记类似于TICKET-1234:<HASH>?
【问题讨论】:
标签: git
有许多可用选项:
如果您只想为提交设置一个简短易记的名称,您可以简单地使用git tag 标记它。标签对象指向一个提交并包含一条附加消息,并且它本身由一个前缀为refs/tags/ 的引用命名。默认情况下,fetch 和 push 操作不会将标签与远程存储库同步,除非您传递 --tags。
如果您需要在提交创建时存储信息,您可以将其包含在提交消息底部的类似 RFC822 的标头中:
Fixes: ticket #1234
git commit 命令甚至提供了一个内置的--signoff 选项,可以自动添加一个这样的标头。
如果您需要存储随时间变化的较长形式的信息,请查看git notes:
添加、删除或读取附在对象上的注释,而不接触对象本身。
默认情况下,注释会保存到
refs/notes/commits并从中读取,但可以覆盖此默认设置。请参阅下面的选项、配置和环境部分。如果这个 ref 不存在,它会在第一次需要存储笔记时悄悄创建。注释的典型用途是在不更改提交本身的情况下补充提交消息。注释可以通过 git log 与原始提交消息一起显示。为了将这些注释与存储在提交对象中的消息区分开来,注释像消息一样缩进,在一个未缩进的行之后显示“Notes (
):”(或“Notes:”对于 refs/notes/commits)。
Like 标签,默认情况下,带有refs/notes/ 前缀的引用不会被fetch 和push 操作同步。您必须另外配置 git 来跟踪它们。
【讨论】: