提问人:William Pursell 提问时间:1/21/2011 最后编辑:FlowWilliam Pursell 更新时间:2/10/2019 访问量:16129
如何注释分支?
How do you annotate a branch?
问:
有什么方法可以注释分支吗?如果能够做这样的事情就好了:
$ git notes add branch-name -m 'This branch is for whatever'
但这当然不是很有帮助,因为该说明适用于分支机构的现任负责人,而不是分支机构本身。
一个简单的解决方法是在存储库中删除 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 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 对象中的好处,但也许它足以满足你的目的。
评论
git config
git branch --edit-description
git-branch --edit-description
您可以在问题跟踪器中创建一个“跟踪错误”,您可以在其中非常详细地描述大的新功能,包括模型和 UML 图以及所有内容,然后命名分支。bug1234
使用 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
评论
每当我创建一个新分支时,我喜欢做一个空的提交, 带有一条提交消息,说明需要说的任何话。
git branch B A
git checkout B
git commit --allow-empty -m "Created branch 'B' from 'A'"
这也有一个创造历史的奇妙副作用 在“git log --graph”中显示得更清楚-- 也就是说,它显示了树上一个明确标记的叉子 在我创建分支时, 而不是我通常会得到的,这是一个不清楚的未标记的叉子 当我碰巧在 B 中进行第一次提交时—— 这种事情让我一直处于迷雾之中。
评论
现在的正确答案是分支描述,这是在最初提出这个问题后添加到 git 中的一个功能。
以下是两个 SO 问题,可以得出这个答案: git 中的分支描述 在 Git 中创建新分支时可以添加消息/注释/注释吗?
评论
使用 git tag --annotate
标签可以创建带有描述的标签。
从技术上讲,该标签归因于提交而不是分支。如果所有协作者都同意使用分支名称(作为标记名称的一部分),则可以使用分支名称作为筛选模式的一部分列出分支的相应标记。-n
选项允许显示实际的注释。别名可能会派上用场,以便自动使用当前分支名称来创建和列出特殊的分支描述标签。
注 1:git describe
可用于查找分支中的最新标签。不幸的是,如果将其他分支合并到感兴趣的分支中,这可能会列出其他分支的标签。
使用标记的一个优点是,所有协作者都可以使用说明。
评论