3

每当我在 git 中创建主题分支时,我一直在开发一个系统来保留 BRANCH_DESCRIPTION 文件。就像其他人提到的那样,我有时也会忘记我创建分支的目的,即使我尝试给它起一个描述性的名称。

我一直主要解决 SO 问题如何告诉 git 始终选择我的本地版本以在特定文件上进行冲突合并?,但是我遇到了没有调用自定义合并驱动程序的情况,因此合并的主题分支中的文件会覆盖本地分支。例如:

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 将被简单地覆盖,因为无论是否为文件设置了自定义合并驱动程序,主分支的描述都没有改变。

有任何想法吗?

4

2 回答 2

10

Git 现在通过运行来支持这一点git branch --edit-description

这个答案写得很好

于 2012-05-10T06:56:50.097 回答
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查看分支的用途。

于 2011-08-29T07:09:19.433 回答