git中的分支描述,续

时间:2011-08-29 06:44:05

标签: git branch task-tracking

每当我在git中创建主题分支时,我一直在研究系统以保留BRANCH_DESCRIPTION文件。就像其他人提到的那样,我有时会忘记我为其创建的分支,尽管我试图给它一个描述性的名称。

我一直在处理SO问题How do I tell git to always select my local version for conflicted merges on a specific file?,但是我遇到了一个自定义合并驱动程序没有被调用的情况,因此合并主题分支的文件会覆盖本地分支。例如:

git checkout master
echo "mainline" > BRANCH_DESCRIPTION
git add BRANCH_DESCRIPTION
git commit -m'Added BRANCH_DESCRIPTION file'
git checkout -b topic_branch
echo "this branch is used to fix the bug where [...]" > BRANCH_DESCRIPTION
git commit -m'Updated BRANCH_DESCRIPTION'
[code, code, code ...]
[git, git, git ...]
git checkout master
git merge --no-ff topic_branch

此时BRANCH_DESCRIPTION将被覆盖,因为无论是否为文件设置了自定义合并驱动程序,主分支的描述都没有改变。

有什么想法吗?

2 个答案:

答案 0 :(得分:10)

Git现在通过运行git branch --edit-description

来支持此功能

此答案有nice writeup

答案 1 :(得分:4)

尝试将git notes用于此目的。

在您的分支机构中git notes add -m "this branch is for blah blah"

然后使用以下内容在您的仓库中写一个提交后的内容:

#!/bin/sh
git notes show HEAD~1
git notes copy HEAD~1 HEAD

如果需要,另外添加git notes remove HEAD~1

使用git notes show查看分支的用途。