Как изменить дефолтную ветку в github
Перейти к содержимому

Как изменить дефолтную ветку в github

  • автор:

Изменение ветви по умолчанию

Ветвь по умолчанию — это первая ветвь, которую Git проверка на свежем клоне. Кроме того, запросы на вытягивание предназначены для этой ветви по умолчанию.

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

Установка нового ветвь по умолчанию

Вы можете использовать ветвь, отличные main от новых изменений, или изменить основную строку разработки в репозитории. Чтобы изменить имя ветвь по умолчанию для новых репозиториев, ознакомьтесь со всеми параметрами и политиками репозиториев.

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

Для изменения ветвь по умолчанию требуется разрешение на изменение политик. Дополнительные сведения см. в разделе «Настройка разрешений репозитория Git».

Снимок экрана: установка ветвь по умолчанию.

  1. В репозитории проекта выберите «Ветви«.
  2. На странице «Ветви» выберите «Дополнительные параметры» рядом с нужным ветвь по умолчанию и выберите «Задать как ветвь по умолчанию«.
  3. После установки нового ветвь по умолчанию можно удалить предыдущее значение по умолчанию, если вы хотите.
  1. Нажмите кнопку «Параметры» в нижнем левом углу проекта, чтобы открыть страницу администрирования проекта. Откройте административную область веб-портала для проекта
  2. Выберите Репозитории.
  3. Выберите репозиторий Git. Ветви отображаются в репозитории.
  4. Выберите . рядом с ветвью, которую вы хотите задать по умолчанию, а затем выберите «Задать как ветвь по умолчанию«.Настройка ветвь по умолчанию для репозитория Git
  5. После установки новой ветвь по умолчанию можно удалить предыдущую, если вы хотите.

Перед внесением этого изменения следует рассмотреть другие аспекты.

Выбор имени

Git 2.28 добавил возможность выбора начального имени ветви. В то же время Azure Repos, GitHub и другие поставщики услуг размещения Git добавили возможность выбора другого начального имени ветви. Ранее ветвь по умолчанию почти всегда master называлась. Наиболее популярным альтернативным именем является main . Менее распространенные варианты включают trunk и development . Отсутствуют какие-либо ограничения из используемых средств или команды, все допустимые имена ветвей будут работать.

Обновление других систем

При переходе на другую ветвь по умолчанию могут повлиять другие части рабочего процесса. Эти части необходимо учитывать при планировании изменения.

Pipelines

Обновите триггеры CI для всех конвейеров. Конвейеры конструктора можно редактировать в Интернете. Конвейеры YAML можно редактировать в соответствующих репозиториях.

Запросы на вытягивание в полете

Перенацелите каждый открытый запрос на вытягивание в новую ветвь по умолчанию.

Существующие клоны

Новые клоны репозитория получат новый ветвь по умолчанию. После переключения все пользователи с существующим клоном должны выполняться git remote set-head origin -a (заменяя origin его именем удаленного, если это что-то другое), чтобы обновить представление ветвь по умолчанию удаленного. Будущие новые ветви должны основываться на новом по умолчанию.

Входящие ссылки

Необходимо обновить некоторые закладки, документы и другие файлы, отличные от кода, которые указывают на файлы в Azure Repos. Имя ветви для файла или каталога может отображаться в URL-адресе.

Если URL-адрес содержит строку version запроса, например &version=GBmybranchname , этот URL-адрес следует обновить. К счастью, большинство ссылок на ветвь по умолчанию не version будет сегмента и может быть оставлен как есть. Кроме того, после удаления старой ветвь по умолчанию попытка перейти к ней будет доставлена в новое значение по умолчанию.

Временное зеркало

Репозиторий Git может содержать только одну ветвь по умолчанию. Однако в течение некоторого времени можно настроить нерегламентированные зеркало между старым значением по умолчанию и новым по умолчанию. Таким образом, если конечные пользователи продолжают отправлять старые значения по умолчанию, они не должны повторно выполнять работу в конце. Мы будем использовать Azure Pipelines для настройки этого временного зеркало.

В этом разделе используется язык, который не соответствует перспективам Майкрософт. В частности, слово master отображается в нескольких местах в соответствии с тем, как оно использовалось в Git. Цель этого раздела — объяснить, как перейти на более инклюзивное язык, например main . Избегая всех упоминание master будет сделать направления гораздо труднее понять.

Конвейер зеркало ing

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

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

  1. Для всех существующих сборок CI обновите их для активации новых ветвь по умолчанию вместо старого.
  2. Предоставьте удостоверению сборки разрешение на участие в репозитории. Перейдите к разделу Project Параметры>Repositories>(your repo)>Permissions. Может быть до двух удостоверений, один для службы сборки коллекции проектов и другой для службы сборки проекта. Убедитесь, что разрешение «Участие» говорит «Разрешить«.
  1. Если в новой ветвь по умолчанию есть политики ветвей, также предоставьте удостоверение сборки политикам обхода при отправке разрешений. Это разрешение представляет собой риск безопасности, так как злоумышленник может создать конвейер для создания кода в репозиторий в проекте. Если зеркало больше не требуется, удалите это разрешение.
  2. Добавьте новый файл mirror.yml в репозиторий в новом ветвь по умолчанию. В этом примере предполагается, что старый ветвь по умолчанию был master , а новый — main . Обновите триггерные ветви и git push строку, если имена ветви отличаются.
trigger: branches: include: - main - master pool: < vmImage: ubuntu-latest >steps: - checkout: self persistCredentials: true - script: | git checkout $(Build.SourceBranchName) git push origin HEAD:master HEAD:main displayName: Mirror old and new default branches 
  1. Создайте конвейер, выбрав «Azure Repos Git» и «Существующий файл YAML Azure Pipelines» в мастере. Выберите файл, добавленный mirror.yml на предыдущем шаге. Сохраните и запустите конвейер.

Устранение неполадок

Этот конвейер будет выполняться каждый раз, когда выполняется отправка в master или в main . Он будет хранить их в синхронизации до тех пор, пока новые фиксации не поступают в обе ветви одновременно.

Если конвейер начинает сбой с сообщением об ошибке, например «Обновления были отклонены, так как толчок ветви находится за его удаленным», кто-то должен объединить старую ветвь в новую ветвь вручную.

  1. Клонируйте репозиторий и cd в его каталог.
  2. Ознакомьтесь с новыми ветвь по умолчанию git checkout main (если main это ваш новый ветвь по умолчанию).
  3. Создайте новую ветвь для интеграции двух ветвей с git checkout -b integrate .
  4. Слияние старых ветвь по умолчанию с git merge master (если master это ваш старый ветвь по умолчанию).
  5. Отправьте новую ветвь, а затем откройте и завершите запрос на вытягивание в новую ветвь по умолчанию.
  6. Затем конвейер зеркало ing должен заботиться о зеркало фиксации слияния обратно в старое значение по умолчанию.

Обратная связь

Были ли сведения на этой странице полезными?

Управление именем ветви по умолчанию для репозиториев

Вы можете задать имя ветвь по умолчанию для новых репозиториев, создаваемых на GitHub.com.

В этой статье

Сведения об управлении именем ветви по умолчанию

При создании нового репозитория на GitHub.comрепозиторий содержит одну ветвь, которая является ветвь по умолчанию. Вы можете изменить имя, которое GitHub использует для ветви по умолчанию в создаваемых репозиториях. Дополнительные сведения о ветвь по умолчанию см. в разделе «О ветвях».

Ветвь по умолчанию для существующего репозитория можно изменить. Дополнительные сведения см. в разделе Изменение ветви по умолчанию.

Настройка имени ветви по умолчанию

  1. В правом верхнем углу любой страницы щелкните фотографию профиля, а затем выберите Параметры.

Screenshot of a user's account menu on GitHub. The menu item

Дополнительные материалы

Как изменить основную(default) ветку в gitlab

Погуглив этот вопрос нашел много уже не актуальных ответов, так как, судя по всему, интерфейс gitlab меняется со временем.

Отслеживать
2,417 2 2 золотых знака 8 8 серебряных знаков 20 20 бронзовых знаков
задан 28 апр 2022 в 14:21
15 1 1 серебряный знак 5 5 бронзовых знаков
какая версия gitlab у вас?
29 апр 2022 в 5:34

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

введите сюда описание изображения

В gitlab версий 12.8 — 14.4 это делается в меню Settings -> Repository

Отслеживать
ответ дан 29 апр 2022 в 5:39
Aleksey Vaganov Aleksey Vaganov
2,417 2 2 золотых знака 8 8 серебряных знаков 20 20 бронзовых знаков

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.5.3.8609

Как изменить название дефолтной ветки проекта на GitHub?

В общем, есть проект на гитхабе, заливая туда первый коммит, по своей глупости назвал дефолтную ветку project_initalization вместо master
Как теперь изменить название этой внешней ветки на master?

  • Вопрос задан более года назад
  • 121 просмотр

1 комментарий

Простой 1 комментарий

sergey-kuznetsov

Сергей Кузнецов @sergey-kuznetsov Куратор тега GitHub

Дефолтная ветка переименовывается точно так же, как остальные.
Идем в ветки и жмём кнопку переименования.

63d7422320f30592142541.png

Затем локально на компе актуализируем названия и связи по подсказке

git branch -m project_initalization master git fetch origin git branch -u origin/master master git remote set-head origin -a

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *