你如何注解一个分支?

有什么方法可以注释一个分支? 能够做到这样的事情会很好:

 $ git notes add branch-name -m'这个分支用于任何'

但这当然不是非常有帮助的,因为这个注释适用于当前的分支头,而不是分支本身。

一个简单的解决方法是在存储库中放置一个README.branch-name,但这看起来很笨拙。 稍微更优雅的是有一个孤立的分支只包含README.branch-names。 我正在寻找一种方法来logging分支的目的是什么,而不是把它放在分支的“第一个”提交的提交信息。 我把“第一个”放在引号中,因为它并不总是清楚是什么意思,这就是把讨论放在提交信息中不方便的原因。 通常很难findlogging这样的消息的提交。

这将是一个完全不同于git note但是你可以使用git config来实现这个function。

$ 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>命名空间下定义的configuration条目将遵循分支重命名,并且如果稍后删除分支,将自动清除。 这些多余的configuration条目只会在分支存在的时候才会持续存在,届时它们将被自动删除。

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

每当我创build一个新的分支时,我喜欢做一个空的提交,并且提交一条消息,说明需要说的什么。

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

这也有一个奇妙的副作用,使“git log –graph”中显示的历史更加清晰 – 即在创build分支时显示了一个清晰标记的树叉,而不是我通常会得到的这是一个不清楚的未标记的叉子,后来我碰巧在B里做了我的第一次承诺 – 这种事情让我一直在雾中。

使用Brian的解决scheme,我创build了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 

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

现在正确的答案是分支描述,这个问题最初被问到后,添加到git中的一个特性。

这个答案提出了两个SO问题: git中的分支描述在Git中 创build新的分支时,我可以添加一条消息/注释/注释吗?

编号注释附加到特定的提交ID。