О ветвях
Ветви позволяют разрабатывать функции, устранять ошибки или безопасно экспериментировать с новыми идеями в автономной области репозитория.
Вы всегда создаете ветвь из существующей ветви. Как правило, новую ветвь можно создать из ветви репозитория по умолчанию. Затем в этой новой ветви можно работать без учета изменений, вносимых в репозиторий другими людьми.
Ветвь, созданная для создания функции, обычно называется ветвью компонента или ветвью раздела. См . раздел AUTOTITLE.
Вы также можете использовать ветвь для публикации GitHub Pages сайта. См . раздел AUTOTITLE.
Необходимо иметь доступ на запись в репозиторий, чтобы создать ветвь, открыть запрос на вытягивание или удалить и восстановить ветви в запросе на вытягивание. См . раздел AUTOTITLE.
Сведения о ветви по умолчанию
При создании репозитория с содержимым на GitHubGitHub создает репозиторий с одной ветвью. Эта первая ветвь в репозитории является ветвью по умолчанию. Ветвь по умолчанию — это ветвь, GitHub которая отображается при посещении репозитория кем-либо. Ветвь по умолчанию также является начальной ветвью, которую Git извлекает локально, когда кто-то клонирует репозиторий. Если не указана другую ветвь, ветвь по умолчанию в репозитории служит базовой ветвью для новых запросов на вытягивание и фиксаций кода.
По умолчанию присваивает имя ветви main по умолчанию GitHub в любом новом репозитории.
Ветвь по умолчанию для существующего репозитория можно изменить. Дополнительные сведения см. в разделе Изменение ветви по умолчанию.
Имя ветви по умолчанию для новых репозиториев можно настроить. Дополнительные сведения см. в разделе AUTOTITLE, [AUTOTITLE[ и Управление именем ветви по умолчанию для репозиториев](/organizations/managing-organization-settings/managing-the-default-branch-name-for-repositories-in-your-organization).](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#enforcing-a-policy-for-the-default-branch-name)
Работа с защищенными ветвями
Защищенные ветви помогают поддерживать правила для важных ветвей. Защищенная ветвь может блокировать принудительное отправка или удаление, требовать проверки состояния, требовать проверки, требовать утверждения владельца кода или требовать подписанные фиксации перед слиянием изменений.
Эти защиты помогают командам поддерживать стабильность важных ветвей и очищать ожидания перед объединением запроса на вытягивание. Чтобы узнать, можно ли объединить запрос на вытягивание, установите флажок слияния в нижней части вкладки беседы запроса на вытягивание. См. раздел Сведения о защищенных ветвях.
Примечание.
Если вы являетесь администратором репозитория, вы можете объединить запросы на вытягивание в филиалах с включенными защитой ветви, даже если запрос на вытягивание не соответствует требованиям, если только защита ветви не была задана как "Включить администраторов".
Сравнение ветвей в запросах на вытягивание
Запрос на вытягивание сравнивает предлагаемые изменения в головной ветви с базовой ветвью. При создании запроса на вытягивание можно изменить базовую ветвь, с которыми вы сравниваете изменения. На вкладке "Измененные файлы" показано, что изменится, если запрос на вытягивание объединен.
Представления диффа помогают рецензентам понять изменения без чтения каждой фиксации. Вы можете просматривать унифицированные диффы, разделенные диффы, богатые диффы или исходные диффы; игнорировать изменения пробелов; или фильтруйте файлы, чтобы сосредоточиться на наиболее важных изменениях.

Диффы могут не отображаться, если запрос на вытягивание превышает ограничения для диффа репозитория или если файл скрыт правилом в файле gitattributes репозитория. См. Ограничения репозитория и Настройка того, как изменённые файлы отображаются на GitHub.
Трехточечные и двухточечные сравнения изменения Git
Команда git diff поддерживает два метода сравнения. Запросы на вытягивание для GitHub отображения трехточного диффа.
| Метод | Command | То, что он сравнивает |
|---|---|---|
| Трехточие | git diff A...B | Последняя распространенная фиксация обеих ветвей (база слияния) и последняя версия ветви раздела. |
| Двухточие | git diff A..B | Последнее состояние базовой ветви (например, main) и последняя версия ветви раздела. |
Двухточечное сравнение изменений сравнивает две ссылки на коммитиши Git, например SHA или OID (идентификаторы объектов), непосредственно друг с другом. В GitHubслучае фиксации ссылок Git в двухточном сравнении diff необходимо отправить в тот же репозиторий или его вилки.
См. параметры диффа Git на сайте книги Pro Git .
О трехточном сравнении GitHub
Так как сравнение с тремя точками использует базу слияния, она фокусируется на том, что представляет запрос на вытягивание.
При использовании двухточечного сравнения различия изменяются при обновлении базовой ветви, даже если вы не внесли никаких изменений в ветвь раздела. Сравнение двухточий также фокусируется на базовой ветви, которая может внести изменения, введенные в ветви раздела, труднее понять.
В отличие от этого, трехточное сравнение продолжает отображать изменения, введенные ветвью раздела, так как ветви разошлись.
Частые слияния
Чтобы избежать путаницы, часто объединяют базовую ветвь (например, main) в ветвь раздела. При слиянии базовой ветви диффы, отображаемые двумя точками и тремя точками сравнения, одинаковы. Мы рекомендуем объединять запрос на вытягивание как можно скорее. Это призывает участников сделать запросы на вытягивание меньше, что мы рекомендуем в целом.
Дополнительные материалы
- Запросы на слияние
- Глоссарий GitHub в глоссарии GitHub
- Ветви в оболочке в документации по Git
- Вилки