Подтвердить что ты не робот

Как переименовать ветвь "wizard" git 'в' release '?

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

Я понимаю, что я могу переименовать главную ветвь локально, просто используя следующее:

git branch -m master release

Однако это только локально. Даже если я нажимаю это на удаленный, HEAD все еще указывает на удаленную ведущую ветвь. Я хочу полностью избавиться от основной ветки и сделать локальную ветвь по умолчанию на начальном клоне, освободить.

Как я могу это достичь?

РЕДАКТИРОВАТЬ: Похоже, что, поскольку источник находится на критическом сервере, я получаю ошибки, удаляющие главную ветку. Я пытаюсь увидеть, если это можно изменить, чтобы ветвь по умолчанию была "release".

4b9b3361

Ответ 1

git checkout -b release master    # create and switch to the release branch
git push -u origin release        # push the release branch to the remote and track it
git branch -d master              # delete local master
git push --delete origin master   # delete remote master
git remote prune origin           # delete the remote tracking branch

Ответ 2

Оформить свою основную ветку

git checkout master

Создайте свою ветвь релиза и переключитесь на нее

git branch release
git checkout release

Нажмите на сервер

git push origin release

Удалить ссылку главной ветки на сервере

git push origin :master

Удалить локальную ветвь мастера

git branch -d master

Ответ 3

В идеале вы хотите настроить отслеживание, так что сделайте следующее:

git push origin HEAD:release
git checkout --track origin/release

Теперь вы хотите удалить остальные?

git branch -d master
git push origin :master

Simple!

Ответ 4

Как было сказано ранее, проблема здесь Gitorious, которая не позволяет удалять ветвь HEAD по умолчанию. У вас есть две возможности обойти эту проблему. Один из них - войти в gitorious сервер (с ssh), найти git -репозиторий на файловом сервере и добавить:

[receive]
        denyDeleteCurrent = warn

в конфигурацию.

Более простой вариант - просто изменить ветвь по умолчанию. Перейдите в репозиторий в великолепном веб-интерфейсе, нажмите "Редактировать репозиторий" и установите "Head Change the symbolic ref HEAD в репозитории git:". После этого вы можете удалить главную ветвь.

Ответ 5

Примечание. Этот ответ предназначен для самостоятельных серверов git, где у вас есть доступ к командной строке.

Так как попытка удалить remote master из клиента действительно не разрешена, и я полагаю, что запрет denyDeleteCurrent имеет смысл, я не хотел бы изменять этот параметр.

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

Это сработало для меня:

  • Вход через SSH на удаленный сервер git
  • Перейдите в папку xxx.git вашего проекта.
  • run: git branch -m master release

Теперь удаленный репозиторий использует release в качестве ветки по умолчанию, а любой git clone в этом репозитории от любого клиента по умолчанию проверяет ветвь выпуска.

Очень полезно также после настройки голого репозитория для его настройки в соответствии с вашими потребностями.