Как вы комментируете ветку?
Есть ли способ аннотировать ветку? Было бы неплохо сделать что-то вроде:
$ git notes add branch-name -m 'This branch is for whatever'
но это, конечно, не очень полезно, поскольку примечание относится к текущему заголовку ветки, а не самой ветке.
Легким обходным решением является сброс имени README.branch в репозитории, но это кажется неуклюжим. Чуть более элегантным является наличие осиротевшей ветки, содержащей только README.branch-names. Я ищу способ записи того, что цель ветки не просто помещает ее в сообщение фиксации для "первой" фиксации ветки. Я ставил "первый" в кавычки, потому что не всегда ясно, что подразумевается под этим, что является причиной того, что неудобно помещать дискуссию в сообщение фиксации. Часто бывает сложно найти фиксацию, в которой записано такое сообщение.
Ответы
Ответ 1
Это был бы совершенно иной подход, чем 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>
имен branch.<branch-name>
будет следовать за переименованием ветки и будет автоматически очищено, если вы удалите ветку позже. Эти лишние записи конфигурации будут сохраняться только до тех пор, пока существует ветвь, и в этот момент они будут автоматически удалены.
Недостатком этого подхода является то, что вы можете хранить только одну "заметку" для каждой ветки. Последующие вызовы ветвления с аргументом перезапишут предыдущую ветвь. Вы также не получаете преимущества от хранения сообщения в отслеживаемом git-объекте, но, возможно, этого будет достаточно для ваших целей.
Ответ 2
Мне нравится делать пустую фиксацию всякий раз, когда я создаю новую ветку,
с сообщением фиксации, говорящим, что нужно сказать.
git branch B A
git checkout B
git commit --allow-empty -m "Created branch 'B' from 'A'"
У этого также есть замечательный побочный эффект создания истории
показанный в "git log -graph" гораздо яснее -
а именно он показывает четко обозначенную вилку в дереве
в то время, когда я создал ветку,
вместо того, что я обычно получаю, что является непонятной немеченой вилкой в более позднее время
когда я совершу свое первое совершение, находясь в B -
такая вещь держит меня в постоянном тумане.
Ответ 3
Используя решение Брайана, я создал 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
Ответ 4
Правильный ответ на это - теперь описания ветвей, функция, которая была добавлена в git после того, как этот вопрос изначально был задан.
Вот два вопроса, которые вызывают этот ответ:
Отраслевые описания в git
Могу ли я добавить сообщение/примечание/комментарий при создании нового ветки в Git?
Ответ 5
Вы можете просто создать "отслеживающую ошибку" в своем трекер-проблеме, где вы подробно описываете большую новую функцию, с макетами и диаграммами UML и все, а затем назовите ветвь bug1234
.
Ответ 6
Нет. Заметки привязаны к определенным идентификаторам фиксации.