Как вы аннотируете ветку? - PullRequest
48 голосов
/ 20 января 2011

Есть ли способ аннотировать ветку? Было бы неплохо иметь возможность сделать что-то вроде:

$ git notes add branch-name -m 'This branch is for whatever'

но это, конечно, не очень полезно, поскольку примечание относится к текущему руководителю ветви, а не к самой ветви.

Простой обходной путь - сбросить README.branch-имя в хранилище, но это выглядит неуклюже. Немного более элегантно иметь потерянную ветвь, содержащую только README.branch-names. Я ищу способ записать, в чем заключается цель ветви, кроме простого помещения ее в сообщение фиксации для «первого» коммита ветви. Я помещаю «первое» в кавычки, потому что не всегда понятно, что имеется в виду под этим, поэтому неудобно помещать обсуждение в сообщение коммита. Часто бывает сложно найти коммит, в котором записано такое сообщение.

Ответы [ 7 ]

38 голосов
/ 21 января 2011

Это был бы совершенно иной подход, чем git note, но вы могли бы использовать git config для этой функции.

$ git config branch.<branch-name>.note 'This is what this branch is for'

Это можно сделать псевдонимом, чтобы упростить интерфейс (думаю, это можно улучшить, но это то, что я использую):

$ git config alias.branch-note '!git config branch.$(git symbolic-ref --short HEAD).note $( if [ $# -gt 0 ]; then $1; fi)'

Это позволяет вам установить примечание для филиала следующим образом (убедитесь, что вы указали в примечании):

$ git branch-note 'This is what this branch is for'

Затем вы можете получить текущую ветку, например, так:

$ git branch-note
This is what this branch is for

В качестве дополнительного преимущества записи конфигурации, определенные в пространстве имен branch.<branch-name>, будут следовать переименованиям ветвей и будут автоматически очищаться, если вы удалите ветвь позже. Эти лишние записи конфигурации будут сохраняться только до тех пор, пока существует ветвь, и в этот момент они будут автоматически удалены.

Недостатком этого подхода является то, что вы можете хранить только одну «заметку» на ветку. Последующие вызовы ветвления с аргументом перезапишут предыдущую ветвь. Вы также не получаете преимущества от хранения сообщения в отслеживаемом git-объекте, но, возможно, этого будет достаточно для ваших целей.

11 голосов
/ 16 июля 2015

Мне нравится делать пустой коммит всякий раз, когда я создаю новую ветку, с сообщением фиксации, в котором говорится все, что нужно сказать.

git branch B A
git checkout B
git commit --allow-empty -m "Created branch 'B' from 'A'"

Это также имеет замечательный побочный эффект создания истории показанный в "git log --graph" намного понятнее - а именно это показывает четко обозначенную вилку в дереве в то время, когда я создал ветку, вместо того, что я обычно получаю, что является неясной вилкой без маркировки в какое-то время когда я произвожу свой первый коммит, находясь в B-- такие вещи держат меня в постоянном тумане.

4 голосов
/ 17 октября 2012

Используя решение Брайана, я создал git-note . Вы можете использовать его как:

$ git note "Some note" # set note for current branch
$ git note -b branch # see note for branch
$ git note -l # list all the branches with theirs' notes
3 голосов
/ 17 марта 2016

Правильный ответ на это теперь - описания веток, функция, которая была добавлена ​​в git после того, как этот вопрос был первоначально задан.

Вот два SO вопроса, которые дают этот ответ: описания веток в git Можно ли добавить сообщение / заметку / комментарий при создании новой ветки в Git?

2 голосов
/ 24 января 2011

Вы можете просто создать «баг отслеживания» в своем трекере, где вы подробно опишите новую большую функцию, с макетами и UML-диаграммами и всем остальным, а затем назовете ветку bug1234.

0 голосов
/ 10 февраля 2019

Использование git tag --annotate тегов с описаниями.

Тег технически относится к коммиту, а не к ветке. Если все соавторы соглашаются использовать имя ветви (как часть) имени тега, соответствующий тег (ы) для ветви может быть в списке , используя имя ветви как часть шаблона фильтра. Опция -n позволяет отображать реальную аннотацию. Псевдонимы могут пригодиться для автоматического использования текущего имени ветви для создания и перечисления специальных тегов описания ветви.

Примечание 1: git describe может использоваться для поиска самого последнего тега в ветви. К сожалению, это может перечислить теги других ветвей, если они объединены в интересующую ветвь.

Примечание 2: не рекомендуется обновлять тег до HEAD вручную, используя --force.

Преимущество использования тегов заключается в том, что описание доступно всем соавторам.

0 голосов
/ 20 января 2011

Нет.Примечания прикрепляются к определенным идентификаторам фиксации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...