git-您如何注释分支?

有什么方法可以注释分支吗? 能够做类似的事情会很好:

$ git notes add branch-name -m 'This branch is for whatever'

但这当然不是很有帮助,因为注释适用于分支的当前标题,而不是分支本身。

一个简单的解决方法是在存储库中删除README.branch-name,但这似乎很笨拙。 稍微更优雅的是有一个孤立的分支,其中只包含README.branch-names。 我正在寻找一种记录分支目的的方法,而不仅仅是将其放入分支的“首次”提交的提交消息中。 我将“ first”用引号引起来,因为并不总是清楚这意味着什么,这就是将讨论放在提交消息中不方便的原因。 通常很难找到记录了此类消息的提交。

William Pursell asked 2020-02-12T22:00:22Z
7个解决方案
40 votes

这将是与branch.<branch-name>完全不同的方法,但是您可以使用git config来实现此功能。

$ git config branch.<branch-name>.note 'This is what this branch is for'

可以使用别名来简化界面(我想可以对此进行改进,但这是我所使用的):

$ git config alias.branch-note '!git config branch.$(git symbolic-ref --short HEAD).note $( if [ $# -gt 0 ]; then $1; fi)'

这使您可以像这样设置分支注释(确保引用该注释):

$ git branch-note 'This is what this branch is for'

然后,您可以像这样检索当前的分支注释:

$ git branch-note
This is what this branch is for

另外一个好处是,在branch.<branch-name>命名空间下定义的配置条目将遵循分支重命名,并且如果您以后删除该分支,则将自动清除它们。 这些多余的配置条目仅在分支存在的情况下才持续存在,这时它们将被自动删除。

这种方法的缺点是每个分支只能存储一个“注释”。 随后带有参数的分支注释调用将覆盖先前的分支注释。 您也没有获得将消息存储在可跟踪的git对象中的好处,但它可能足以满足您的目的。

Brian Phillips answered 2020-02-12T22:00:58Z
12 votes

每当我创建新分支时,我都希望进行空提交,带有一条提交消息,说明需要说什么。

git branch B A
git checkout B
git commit --allow-empty -m "Created branch 'B' from 'A'"

这也给历史留下了奇妙的副作用在“ git log --graph”中显示的更加清晰-即它在树上显示了一个清晰标记的叉子在我创建分支时,而不是我通常会得到的,这是以后不清楚的,未标记的叉子当我碰巧在B中做出第一次提交时-那样的事情使我一直处于迷雾之中。

Don Hatch answered 2020-02-12T22:01:23Z
4 votes

使用Brian的解决方案,我创建了git-note。 您可以像这样使用它:

$ git note "Some note" # set note for current branch
$ git note -b branch # see note for branch
$ git note -l # list all the branches with theirs' notes
rkj answered 2020-02-12T22:01:43Z
3 votes

正确的答案现在是分支描述,该功能是在最初提出此问题后添加到git的。

以下是这个答案的两个SO问题:git中的分支描述在Git中创建新分支时可以添加消息/注释/评论吗?

skiphoppy answered 2020-02-12T22:02:08Z
2 votes

您可以在问题跟踪器中创建一个“跟踪错误”,在其中详细描述大型新功能,模型和UML图以及所有内容,然后将分支命名为bug1234

MatrixFrog answered 2020-02-12T22:02:28Z
0 votes

否。注释附在特定的提交ID上。

Simon Richter answered 2020-02-12T22:02:48Z
0 votes

可以使用带有说明的--force标签创建。

从技术上讲,该标签归因于提交而不是分支。 如果所有协作者都同意使用分支名称(作为标签名称的一部分),则可以使用分支名称作为过滤器模式的一部分列出分支的相应标签。 --force选项允许显示实际注释。 为了自动使用当前的分支名称来创建和列出特殊的分支描述标签,别名可能会派上用场。

注1:--force可用于查找分支中的最新标签。 不幸的是,如果其他分支合并到目标分支中,则可能会列出它们的标签。

注意2:不建议使用--force将标签手动更新为--force

使用标签的一个优点是,所有协作者都可以使用该描述。

user5534993 answered 2020-02-12T22:03:27Z
translate from https://stackoverflow.com:/questions/4750845/how-do-you-annotate-a-branch