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