Руководство по веткам (Git и Qt)

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Содержание

Руководство по созданию, обслуживанию и закрытию веток

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

Создание новой функциональной ветки

Когда создаётся новая ветка то, чтобы начать вы должны выбрать одну ветку за основу. Хорошей основой являются ветки:

  1. Стабильные
  2. Долгоживущие
  3. Сопровождения

Кроме того, вы можете захотеть сделать где-нибудь резервную копию вашей новой ветки, выберите расположение:

  1. Личный клон вашего проекта.
  2. Хранилище команды.

Обслуживание и обновление ветки

Практическое правило - пытайтесь тянуть обновление только из вашей базовой ветки. Избегайте вытягивания из эксперементальных веток в вашу функциональную ветку. Не вытягивайте другие ветки проекта в ващу функциональную ветку до тех пор пока вы не решите стать частью проекта.

Закрытие ветки

Когда вы закончили работать со своей функциональностью, решите, где объеденять её назад. Ваши варианты включают:

  1. Наиболее непосредственная цель - ваша базовая ветка. Слийте с ней и удалите вашу функциональную ветку.
  2. Вы также можете выбрать для слияния вашу функциональную ветку в другую функциональную ветку проекта, и, затем, закрыть вашу.
  3. Если вы хотите получить только те изменения, которые вы сделали и слить их в другую ветку, без учёта изменений вашей базовой ветки, тогда вы можете использовать git rebase. Это может быть сложная операция и лучше работает на относительно мелких изменениях.

Эксперементальная работа

Общая ситуация такова, что вы имеете две отдельные функциональные ветки и вы хотели бы проверить, как они ведут себя вместе. Просто создайте третью, короткоживущую, ветку основанную на одной функциональной ветке и и слитую со второй. Если в процессе тестирования комбинации двух веток вы обнаружите, необходимы дополнительные изменения, тогда вы можете зафиксировать их сначала в вашу эксперементальную ветку. Впоследствии используйте git-cherry-pick, чтобы поместить их в одну из двух исходных веток и удалите вашу эксперементальную ветку.