Есть ли способ в Git иметь «описание» для веток?
Хотя я пытаюсь использовать описательные имена, работа над одной веткой иногда ослабляет память о том, почему я создал некоторые другие ветки тем. Я пытаюсь использовать описательные имена для веток, но я думаю, что «описание» (краткое примечание о назначении ветки) было бы неплохо.
git
branch
task-tracking
Нуфал Ибрагим
источник
источник
Ответы:
Git 1.7.9 поддерживает это. Из примечаний к выпуску 1.7.9 :
Вы можете увидеть эту функцию, представленную еще в сентябре 2011 года, с коммитами 6f9a332 , 739453a3 , b7200e8 :
Обратите внимание, что это не будет работать для отдельной ветки HEAD.
Это описание используется сценарием request-pull: см. Commit c016814783 , но также
git merge --log
.[От @AchalDave] К сожалению, вы не можете отправить описания, поскольку они хранятся в вашей конфигурации, что делает их бесполезными для документирования веток в команде.
источник
git config branch.topic.description
чтобы показать описание для веткиtopic
. Он хранится в.git/config
файле.git branch
показать описания в списке ...Если же в конечном итоге с помощью README, создайте GIT псевдоним модифицирующий ,
git checkout
чтобы ваш README отображается каждый раз , когда вы переключаете ветки.Например, добавьте это в ~ / .gitconfig под [alias]
После этого вы можете запустить
git cor <branch_name>
переключение ветви и отобразить README ветви, на которую вы переключаетесь.источник
1.7.11-msysgit.1
). Я использую $ 0 вместо этого. И все хорошо.sh -c
"; например,.alias = "!f() { git checkout "${1}" && cat README.md; }; f"
(квадратные скобки и кавычки в этом случае не нужны, просто включены для полноты, если они нужны для чего-то более сложного.)~/.gitconfig
, под[alias]
, и имя псевдонима (и это понятно) вызывает егоalias
из моей реальной конфигурации (я должен был переименовать его,cor
чтобы этот пример был согласованным). Мой настоящийalias
псевдоним:alias = "!f() { git config --get-regexp "^alias.${1}$" ; }; f"
Использование:git alias {alias_name}
илиgit alias {alias_regexp}
. По аналогии с командой bashalias
, например,$ alias ll
приводит к (для меня)alias ll='ls -l'
:; и$ git alias br
выходы:alias.br branch -v --list
(также можно использовать:$ git alias 'b.*'
)Используйте
git branch --edit-description
для установки или редактирования описания ветки.Вот функция оболочки для отображения веток, похожих на,
git branch
но с добавленными описаниями.Вот как
gb
выглядит текст, показанный здесь в случае, если изображение гниет:И как изображение, чтобы вы могли видеть цвета:
источник
README
Предложил Крис J может работать, при условии , что установка с драйвером пользовательского объединения , определенным в.gitattribute
.Таким образом, локальная версия
README
всегда сохраняется во время слияний.«Описание» для ветвей также известно как «комментарий», связанный с этими метаданными, и оно не поддерживается.
По крайней мере, с
README
файлом вы можете, для любой ветви, сделать:Если ваш README находится в корневом каталоге вашего РЕПО, он будет работать с любого пути, поскольку используемый путь
git show
является абсолютным из верхнего каталога указанного репо.источник
.gitattributes
файл в своем хранилище, так что нет, он будет работать для всех. К сожалению, это не работает при объединении через некоторые веб-интерфейсы, например, при использовании запросов на извлечение в DevOps Azure.Здесь есть два популярных предложения:
git branch --edit-description
: Нам это не нравится, потому что ты не можешь это подтолкнуть. Может быть, я помню, что делают созданные мной ветки, но моя команда точно не может.README
файл pr. филиал. Это проблема при слияниях: супер-склонна к конфликтам слияний, и мы будем извлекатьREADME
из ветвей, когда мы объединяем функциональные ветви. Различия между ветвями - это тоже боль.Мы решили создать сиротскую
branches-readme
ветвь. Ветви-сироты - это ветви с собственной историей - вы можете знать их поgh-pages
веткам Github . Эта сиротская ветвь содержит одинREADME
файл. У этого есть содержание как:Это толкаемый и дружественный к слиянию. Просмотр
README
из любой ветки с:Недостатки в том, что вам нужно оформить странную сиротскую ветку, когда вы хотите обновить,
README
аREADME
она не обновляется автоматически, когда ветви переименовываются, приходят или уходят. Это хорошо для нас, хотя.Сделай это как:
Аналогично, отдельные члены команды могут также создавать свои собственные
branches-$user
сиротские ветви, описывающие их собственные частные ветви, если они хотят, если они не подталкивают их к команде.При дальнейшей комплектации это также может быть интегрировано с выводом
git branch
. С этой целью, возможно,README.yaml
файл может рассматриваться вместо простойREADME
.источник
Команда определит глобальную опцию
alias.about
как выражение оболочки. Запускgit about <branch>
в репозитории покажет описание ветки, если установлено.источник
"!describe() { git config branch.\"$(git symbolic-ref --short -q HEAD)\".description; }; describe"
git config --global --add alias.about '!describe() { git config branch."$(git symbolic-ref --short -q HEAD)".description; }; describe'
Вот возможная реализация команды, на
git branches
которую ссылается Грег Хьюгилл:источник
Вот
git
alias
что позволяет вам устанавливать и читать описания текущей ветки:Использование / примеры:
Отдельное спасибо @Felicio за ответ, с которого я начал.
источник
Вы можете прикрепить комментарии к тегам:
По договоренности у вас могут быть теги, связанные с именами веток, или вы можете использовать тег -f, чтобы оставить закомментированный тег в заголовке веток вашей темы.
источник
Скажем, вы хотите создать ветку
источник
Я уверен, что эта функция в настоящее время не поддерживается. Я думаю, что вам лучше всего создать текстовый файл описания, в основном README, в ветке, в которой есть нужная вам информация.
источник
Выбранный ответ кажется мне излишним. Я был бы склонен поддерживать файл описания для каждой ветви, который является нормальным, контролируемым источником файлом, скажем
master.txt
,dev.txt
и т. Д., И если бы было громоздкое число или ветви, я бы создал иерархию, чтобы лучше организовать ее.источник
git show master:dev.txt
что не проще, чем выбранный ответ.Просто используйте:
Чтобы получить кредит там, где он требуется: https://glebbahmutov.com/blog/git-branches-with-description/
источник
использование
показать ветку вверх по течению:
Добавить,
-r
чтобы показать только пульты или-a
показать удаленные и локальные.источник