Я работал над системой, чтобы сохранить файл BRANCH_DESCRIPTION всякий раз, когда я создаю ветку темы в git. Как уже упоминали другие, я тоже иногда забываю, для чего я создал ветку, хотя я пытаюсь дать ей описательное имя.
Я в основном работал над вопросом 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 будет просто перезаписан, так как описание основной ветки не изменилось, независимо от того, был ли настроен пользовательский драйвер слияния для файла.
Любые идеи?