Руководство по веткам (Git и Qt)
Материал из Wiki.crossplatform.ru
Эта статья является переводом руководства: Guidelines for creating, maintaining and closing Branches |
[править] Руководство по созданию, обслуживанию и закрытию веток
Это руководство поможет вам избежать создания целого леса веток разработки и адского слияния. Придерживайтесь простых правил и вы обнаружите, что поддерживать и объеденять отдельные строки кода - это просто.
Содержание |
[править] Создание новой функциональной ветки
Когда создаётся новая ветка то, для начала, вы должны выбрать одну ветку за основу (базовая ветка). Хорошей основой являются ветки:
- Стабильные
- Долгоживущие
- Сопровождения
Кроме того, вы можете захотеть сделать где-нибудь резервную копию вашей новой ветки, выберите расположение:
- Личный клон вашего проекта.
- Хранилище команды.
[править] Обслуживание и обновление ветки
Практическое правило - пытайтесь тянуть обновление только из вашей базовой ветки. Избегайте вытягивания из эксперементальных веток в вашу функциональную ветку. Не вытягивайте другие ветки проекта в ващу функциональную ветку до тех пор пока вы не решите стать частью проекта.
[править] Закрытие ветки
Когда вы закончили работать со своей функциональностью, решите, где объеденять её назад. Ваши варианты включают:
- Наиболее непосредственная цель - ваша базовая ветка. Слийте с ней и удалите вашу функциональную ветку.
- Вы также можете выбрать для слияния вашу функциональную ветку в другую функциональную ветку проекта, и, затем, закрыть вашу.
- Если вы хотите получить только те изменения, которые вы сделали и слить их в другую ветку, без учёта изменений вашей базовой ветки, тогда вы можете использовать
git rebase
. Это может быть сложная операция и лучше работает на относительно мелких изменениях.
[править] Эксперементальная работа
Общая ситуация такова, что вы имеете две отдельные функциональные ветки и вы хотели бы проверить, как они ведут себя вместе. Просто создайте третью, короткоживущую, ветку основанную на одной функциональной ветке и и слитую со второй. Если в процессе тестирования комбинации двух веток вы обнаружите, необходимы дополнительные изменения, тогда вы можете зафиксировать их сначала в вашу эксперементальную ветку. Впоследствии используйте git-cherry-pick
, чтобы поместить их в одну из двух исходных веток и удалите вашу эксперементальную ветку.