Отслеживать ветки на Git?

Возможные дубликаты:
Как добавить аннотацию к ветке?
Описания веток в git

У меня репо с множеством веток. Может быть, 12 или около того, и они не будут объединены в мастер в ближайшее время.

Есть ли способ задокументировать назначение каждой ветки в git?

Я ищу для ветки то же самое, что сообщение фиксации для фиксации.

Я не думаю, что теги - это то, что мне нужно, потому что теги не следуют за HEAD, когда я добавляю новые коммиты в ветку.

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


Чтобы пояснить, я называю свои ветки. Но я бы тоже хотел иметь описание. Так, например, я хотел бы написать для ветки RTPhase:

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


person AndyL    schedule 27.05.2011    source источник
comment
Вы используете именованные ветки?   -  person Matt Ball    schedule 27.05.2011
comment
да. Я использовал именные ветки. Но имена, как правило, довольно короткие, например, 10 символов или около того, потому что в противном случае было бы неприятно переключаться между вещами.   -  person AndyL    schedule 27.05.2011
comment
Попробуйте stackoverflow.com/questions/2108405/branch-descriptions-in-git   -  person John Flatness    schedule 27.05.2011
comment
Здесь описан интересный обходной путь: stackoverflow.com / questions / 4750845 / (однако нельзя передавать заметки на удаленные устройства)   -  person Aasmund Eldhuset    schedule 27.05.2011
comment
Что вам действительно нужно, так это автозаполнение для вашей оболочки, поэтому вы можете начать вводить имя ветки, нажать вкладку и заставить оболочку заполнить остальное за вас.   -  person Wayne Conrad    schedule 28.05.2011


Ответы (3)


Ответ, к которому я прихожу по этому поводу, состоит в том, чтобы разработать соглашение, которому я могу строго следовать.

Моя основная ветка "релиза" называется "master". Моя ветка «исправлений» (для исправлений, находящихся в производстве) называется «исправлениями». Моя ветка для разработки следующего выпуска называется "dev".

Затем я делаю любые ответвления от этих ветвей с названием. Таким образом, ветвь функций для того, над чем я работаю здесь с картами, называется «dev / maps». У меня есть функция опроса, которую я добавляю в ветку "dev / survey".

Если бы у меня было исправление, которое требовало реального времени, я бы, вероятно, перешел на «hotfix / short-description-of-branch».

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

person Dan Ray    schedule 27.05.2011

Возможно, вам это не понравится, но просто для удовольствия (по крайней мере, для меня :) я бы сделал следующее:

В своей ветке сделайте 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, чтобы узнать, для чего предназначена ветка. Тадааа! :)

person manojlds    schedule 27.05.2011
comment
Классный трюк, но он нелегко синхронизируется с удаленными ветвями: progit.org/2010/ 25 августа / notes.html - person AndyL; 28.05.2011

Не зная, что вы делаете, вы можете найти другой рабочий процесс с помощью инструмента поддержки рабочего процесса более простым в использовании. Например: http://nvie.com/posts/a-successful-git-branching-model/ и связанный с ним инструмент поддержки gitflow.

У него нет описаний веток как таковых, но, возможно, если вы добавите эту функцию, она будет принята.

person Seth Robertson    schedule 27.05.2011