Ответы:
Ветви тем - это, как правило, легкие ветки, которые вы создаете локально и которые имеют имя, которое имеет для вас значение . В них вы можете поработать над исправлением ошибки или функцией (они также называются ветвями функций), выполнение которой, как ожидается, займет некоторое время.
Другой тип ветви - это «удаленная ветка» или «ветка удаленного отслеживания». Этот тип ветки следует за развитием чужой работы и хранится в вашем собственном хранилище. Вы периодически обновляете эту ветку (используя git fetch
), чтобы отслеживать, что происходит в другом месте. Когда вы будете готовы отследить изменения всех остальных, вы будете использовать git pull
как выборку, так и слияние.
Я также видел другой вид веток, который представляет собой совершенно отдельное дерево файлов в том же хранилище. Например, сам Git-репозиторий содержит заголовки с именами man и html, которые содержат содержимое, совершенно отличное от главной ветви. Я не знаю, как обычно называются эти типы ветвей.
Это не технический термин; это просто ссылка на ветку, которая была создана для реализации определенной функции или исправления ошибки. «Тема» является причиной создания филиала, по сути.
https://github.com/dchelimsky/rspec/wiki/Topic-Branches объясняет это хорошо:
Ветвь «тема» - это отдельная ветка, которую вы используете при работе над одной «темой» (исправление ошибки, новая функция или экспериментальная идея). Рекомендуется работать над веткой тем вместо непосредственно над «master», потому что:
{... перейти по ссылке ...}
Таким образом, по всем этим причинам рекомендуется использовать ветку темы для подготовки представлений даже для простых вкладов, таких как исправления с одной фиксацией и тому подобное.
Этот образец также дает примеры. Что на самом деле заставило меня задуматься, это, вероятно, то, что большинство магазинов уже делают. Все гибкие проекты, в которых я когда-либо участвовал. Я проголосовал за "это не технический термин", потому что я чувствую, что это ударяет гвоздь по голове.
похоже, что наиболее заметный и важный тип ветвей, которые не являются ветвями для тем, - это ветки релизов в главном общедоступном репозитории, верно?
Возможно, это правильно для вас, но это касается вас и проекта, о котором вы думаете; это не определяется Git.
Большинство систем контроля версий (особенно централизованных) предписывают или обеспечивают выполнение определенного рабочего процесса, включая то, для чего имеет смысл использовать ветвь. Git (и в некоторой степени большинство распределенных VCS) считают, что рабочий процесс, для чего используются ветви, когда для фиксации, для чего используются разные репозитории и т. Д., Выбирается пользователями и соглашениями между пользователями (политиками). Так что Git не применяет их технически.
Это одна из вещей, которая сделала Git трудным для меня, чтобы учиться. Оливер Стил объяснил это с точки зрения пользователя, написав о политиках фиксации .