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は、ファイルにカスタムマージドライバーが設定されているかどうかに関係なく、マスターブランチの説明が変更されていないため、単純に上書きされます。
何か案は?