Git 如何为分支添加注释?

Git 如何为分支添加注释?,git,Git,有没有办法注释一个分支?如果能够做到以下几点,那就太好了: $ git notes add branch-name -m 'This branch is for whatever' $git notes添加分支名称-m'此分支用于任何用途' 但这当然没有太大帮助,因为该说明适用于分行现任行长,而不是分行本身 一个简单的解决方法是在存储库中删除README.branch-name,但这似乎很笨拙。稍微优雅一点的是有一个孤立的分支,它只包含README.branch-names。我正在寻找一种方法来

有没有办法注释一个分支?如果能够做到以下几点,那就太好了:

$ git notes add branch-name -m 'This branch is for whatever' $git notes添加分支名称-m'此分支用于任何用途' 但这当然没有太大帮助,因为该说明适用于分行现任行长,而不是分行本身


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

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

这将是一种与
git note
完全不同的方法,但您可以使用
git config
实现此功能

$ git config branch.<branch-name>.note 'This is what this branch is for'
这允许您这样设置分支注释(确保引用注释):

然后,您可以检索当前分支注释,如下所示:

$ git branch-note
This is what this branch is for
作为一个额外的好处,在
分支。
命名空间下定义的配置项将跟随分支重命名,并且如果以后删除分支,将自动清除。这些多余的配置项只会在分支存在时持续存在,此时它们将被自动删除


这种方法的一个缺点是,每个分支只能存储一个“note”。带有参数的后续分支注释调用将覆盖上一个分支注释。将消息存储在可跟踪的git对象中也不会带来好处,但它可能满足您的需要。

您可以在问题跟踪器中创建一个“跟踪bug”,在这里您可以详细描述新的大功能,包括模型和UML图等,然后使用我创建的Brian解决方案命名分支
bug1234

。您可以像这样使用它:

$ 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

我喜欢在创建新分支时进行空提交, 有一条提交消息,告诉你需要说什么

git branch B A
git checkout B
git commit --allow-empty -m "Created branch 'B' from 'A'"
这也产生了创造历史的奇妙副作用 在“git log--graph”中显示得更清楚-- 也就是说,它在树上显示了一个清晰标记的叉 在我创建分支的时候, 而不是我通常会得到的,那是一个不清楚的未标记的叉子在以后的某个时候 当我在B的时候第一次做出承诺--
这种事情让我一直迷茫。

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

这里有两个问题给出了这个答案:

可以创建带有说明的标签

从技术上讲,该标记属于提交而不是分支。如果所有合作者都同意使用分支名称(作为标记名称的一部分),则分支的相应标记可以使用分支名称作为筛选模式的一部分。该选项允许显示实际注释。可以方便地自动使用当前分支名称来创建和列出特殊的分支描述标记

注1:可用于查找分支中最近的标记。不幸的是,如果其他分支合并到感兴趣的分支中,那么这可能会列出它们的标记

注2:使用手动将标签更新为
HEAD


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

git checkout-b long_branch_name_意思是什么复制:旁白:长寿分支应该很少,并且像master或developer一样众所周知。我想如果你有那么多分支需要描述它们,那么很可能你有git流问题,或者我误解了你是如何使用git的。这个注释的可能副本会被推送到远程存储库吗?不会,因为这是一个严格的
git config
设置,它不会被推/拉到任何地方(就像您的所有其他配置选项一样)。现在,这个--
git分支的别名中有一个--edit description--
,只是属性是“description”,而不是“not”-git config branch..description将显示该描述。嘿@BrianPhillips,这对我来说非常有用…但是,它偶尔会认为我的注释的第一个单词是命令…git branch note“Adding marketing login help contact option”=>git config branch.$(git symbolic ref HEAD | sed“s/refs\/heads\//”)。note$(如果[$#-gt 0];然后$1;fi):Adding:command not found查看以下答案:对于git 1.7.9+
git branch——编辑描述以完全满足您的要求。正如每个答案线程中至少有一个人指出的那样:这无法推送,因此对我来说毫无用处。您以后如何检索该文本?一个“奇数”这样做的副作用是,在您合并该分支后,您的git登录主机将包含该消息。阅读此注释“将文本注释存储在本地git存储库配置中”。我是否正确地假设这只在本地工作,而从远程存储库获取的人将看不到我的更改?@DavidSopko您可以推/拉git注释,以便他们可以每个人都看到了。
$ 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
git branch B A
git checkout B
git commit --allow-empty -m "Created branch 'B' from 'A'"