Что такое ветка темы git? Чем-то отличается от обычной ветки? Есть ли ветки, не являющиеся тематическими?
Это не технический термин; он просто относится к ветке, которая была создана для реализации определенной функции или исправления ошибки. «Тема» - это, по сути, причина создания ветки.
... так что ветка темы и ветка функции - это одно и то же, правильно?
@Betlista Более-менее, да.
Ветви темы обычно представляют собой легкие ветки, которые вы создаете локально и которые имеют имя, которое имеет смысл для ты. В них вы можете работать над исправлением ошибки или над функцией (их также называют ветвями функций), выполнение которых, как ожидается, займет некоторое время.
Другой тип ветки - это «удаленная ветвь» или «ветвь удаленного отслеживания». Этот тип ветки следует за развитием чьей-либо работы чужой и хранится в вашем собственном репозитории. Вы периодически обновляете эту ветку (используя git fetch
), чтобы отслеживать, что происходит в другом месте. Когда вы будете готовы следить за изменениями всех остальных, вы должны использовать git pull
как для выборки, так и для слияния.
Я также видел другой вид ветки, который по сути представляет собой полностью отдельное дерево файлов в том же репозитории. Например, Сам репозиторий Git содержит заголовки с именами человек и html, которые содержат совершенно другой контент из ветви мастер. Я не знаю, как обычно называют эти типы веток.
Я искал, как иметь две ветки без общей фиксации предка, и нашел это: madduck.net/blog/…
W.r.t. отдельное дерево, я считаю, что их иногда называют сиротской ветвью, подобно тому, как Github рекомендует вам создать страницу github вручную
Почему вы говорите, что тематическая ветка должна быть локальной? Нет причин думать, что вы, возможно, не захотите продвигать тематическую ветку. Точно так же другие разработчики могут создавать свои собственные тематические ветки, и вы можете захотеть их вытащить. Этот ответ, кажется, сбивает с толку два совершенно не связанных свойства ветвей: является ли ветка локальной или нет, вообще не связано с тем, является ли она ветвью темы.
@ Жан-Поль Калдероне: Не думаю, что я сказал, что тематические ветки имеют являются локальными. Конечно, вы можете удаленно отслеживать ветку темы, если над ней работает более одного разработчика.
Я думаю, что ответ подразумевает это. Почему «... то, что вы создаете локально ...» и «... имеет имя, которое имеет для вас значение». неотъемлемая часть того, что составляет «тематическую ветку»? Первое предложение вашего ответа убедительно свидетельствует о том, что это важные особенности тематической ветки, но на самом деле они оба ортогональны «тематике» ветки или нет. Следующий абзац, в котором вы описываете «удаленные ветки», еще раз подтверждает идею о важности «созданной локально» части тематической ветки. Я предлагаю перефокусировать этот ответ, чтобы не акцентировать внимание на этих несвязанных чертах ветвей.
Когда я прочитал этот ответ, у меня сложилось впечатление, что вы хотите сказать, что тематическая ветка - это концепция Git, а это не так (поправьте меня, если я неправильно понял ваш ответ). С точки зрения Git, тематическая ветка - это просто обычная ветка, как описывает @mipadi в своем ответе.
почему на земле ?, другое имя. не достаточно ли термина "функциональная ветвь"? Разве мы не перегружаем полки?
it looks like the most prominent and important type of branches that aren't topic branches would be release branches on a major, publicly-available repository, right?
Вероятно, это подходит вам, но это касается вас и проекта, о котором вы думаете; это не определяется Git.
Большинство систем контроля версий (особенно централизованных) предписывают или обеспечивают соблюдение определенного рабочего процесса, включая то, для чего имеет смысл использовать ветвь. Git (и, в некоторой степени, большинство распределенных VCS) считают, что рабочий процесс, какие ветви используются, когда совершать фиксацию, для чего используются различные репозитории и т. д., Все выбирается пользователями и соглашениями между пользователями (политиками). Так что Git технически не обеспечивает их соблюдение.
Это одна из вещей, из-за которых мне было сложно изучить Git. Оливер Стил объяснил это с точки зрения пользователя, написав о Политики фиксации.
https://github.com/dchelimsky/rspec/wiki/Topic-Branches хорошо это объясняет:
A “topic” branch is a separate branch that you use when working on a single “topic” (a bug fix, a new feature, or an experimental idea). Working on a topic branch instead of directly on top of “master” is recommended because:
{... visit link ...}
So, for all of these reasons it’s recommended to use a topic branch for preparing submissions even for simple contributions like single-commit bugfixes and the like.
В этом образце также приведены примеры. Что на самом деле заставило меня задуматься, что, вероятно, это уже то, что большинство магазинов уже делают. Все agile-проекты, в которых я когда-либо участвовал, работают. Я поддержал «Это не технический термин», потому что считаю, что это попадает в самую точку.
Ага. в отличие от личной ветки, где у вас есть ветки: bob, alice, mat и т. д.