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 に答える