每当我在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将被覆盖,因为无论是否为文件设置了自定义合并驱动程序,主分支的描述都没有改变。
有什么想法吗?
答案 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
查看分支的用途。