Описание веток в git, продолжение - PullRequest
3 голосов
/ 29 августа 2011

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

Есть идеи?

Ответы [ 2 ]

10 голосов
/ 10 мая 2012

Git теперь поддерживает это, запустив git branch --edit-description

Этот ответ имеет хорошую запись

4 голосов
/ 29 августа 2011

Попробуйте использовать 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, чтобы увидеть, для чего предназначена ветвь.

...