Почему мы создаем новую ветку при разветвлении репозитория GitHub?

#git #github

Вопрос:

В большинстве учебных пособий и в большинстве репозиториев рекомендуется создать репозиторий и внести изменения, которые вы хотите внести в новую ветвь. Почему это так?

Ответ №1:

Как правило, когда вы работаете над проектом в качестве внешнего участника, вы сохраняете основную ветвь, соответствующую ветви вышестоящего репозитория. Это облегчает внесение изменений без возникновения конфликтов или нежелательных коммитов слияния.

Кроме того, вы обычно хотите создавать ветвь функций каждый раз, когда вы работаете над другой функцией, потому что вы не хотите смешивать код для разных функций, и вы хотите иметь возможность работать с несколькими ветвями функций одновременно. Например, если у вас есть два изменения, которые нужно внести, вы можете внести одно из них в собственную ветвь функций, открыть для него запрос на извлечение, а затем начать с другой ветви, прежде чем будет объединена исходная.

Ответ №2:

Это не является техническим требованием. Скорее, хорошей рабочей практикой является удаление неполного кода из основной ветви.

Работая над новой ветвью, вы можете сохранить и проверить свой прогресс (зафиксировать в ветви), не затрагивая основную ветвь. Это обеспечивает безопасное рабочее пространство, которое не нарушит основную ветвь, пока вы не будете готовы снова слиться с main.

Когда вы будете удовлетворены работой над своей ветвью, вы можете вернуться в основную ветвь.

Это также облегчает выбрасывание вашей ветки, если вы не хотите ее хранить. Удаление новой ветви не повлияет на работу, выполненную в основной ветви.

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

Комментарии:

1. Возможно, вам захочется снова извлечь изменения из основной ветви исходного репозитория, пока ваша работа еще продолжается. Возможно, это нарушит ваш код, если он будет прогрессировать. На мой взгляд, это не требование, а скорее практика, которая не дает основной ветви постоянно ломаться. Незавершенная работа ведется над новыми филиалами до тех пор, пока они не будут готовы к объединению.