Мы хотели бы ввести в действие новую политику для наших проектов, согласно которой основная ветвь теперь будет называться ветвью выпуска, чтобы было более ясно, как следует использовать эту ветвь. Естественно, у нас также будут ветки-кандидаты на разработку и выпуск.
Я понимаю, что могу переименовать основную ветку локально, просто используя следующее:
git branch -m master release
Однако это только локально. Даже если я подтолкну его к удаленному, HEAD по-прежнему указывает на удаленную главную ветвь. Я хочу полностью избавиться от основной ветки и сделать локальную ветвь по умолчанию при первоначальном клонировании.
Как я могу этого добиться?
Кажется, что, поскольку источник находится на сервере Gitorious , я получаю ошибки при удалении главной ветки. Сейчас я пытаюсь понять, можно ли изменить это так, чтобы ветвью по умолчанию было «релиз».
источник
git branch
теперь поддерживает--move
флаг git-scm.com/docs/git-branch#Documentation/git-branch.txt---moveОтветы:
Обратите внимание: если вы используете GitHub, вам нужно будет сначала изменить ветку «по умолчанию» на GitHub после шага 3:
В своем репозитории на github.com перейдите в Настройки → Филиалы → Ветвь по умолчанию . Измените его на Release, а затем выполните остальные шаги.
источник
! [remote rejected] branch (deletion of the current branch prohibited)
произойдет и с Bitbucket. Переключите «Главный репозиторий» на экране настроек (под значком шестеренки)Проверьте свою главную ветку
Создайте свою ветку выпуска и переключитесь на нее:
Отправьте это на сервер
Удалить ссылку на главную ветку на сервере
Удалить локальную главную ветку
источник
Примечание. Этот ответ предназначен для автономных серверов Git, к которым у вас есть доступ к командной строке.
Поскольку попытка удалить
remote master
из клиента действительно не разрешена, и я предполагаю, что запретdenyDeleteCurrent
имеет смысл, я не хотел бы изменять этот параметр.Однако я обнаружил, что самый простой способ переименовать мастер, если у вас есть доступ к удаленному серверу из командной строки, - это запустить команду переименования непосредственно на удаленном сервере .
Это сработало для меня:
git branch -m master release
Теперь удаленный репозиторий использует в
release
качестве своей ветки по умолчанию, и любойgit clone
в этом репозитории с любого клиента будет проверять ветку выпуска по умолчанию.Это очень полезно также после настройки чистого репозитория, чтобы настроить его в соответствии с вашими потребностями.
источник
Как ранее заявляли другие, проблема здесь в Gitorious, которая не позволяет вам удалить ветку HEAD по умолчанию. У вас есть два варианта обойти эту проблему. Один из них - войти на сервер Gitorious (с помощью ssh), найти репозиторий Git на файловом сервере и добавить:
к конфигурации.
Более простой вариант - просто изменить ветку по умолчанию. Перейдите в свой репозиторий в веб-интерфейсе Gitorious, нажмите «Изменить репозиторий» и установите «Head». Измените символическую ссылку HEAD в репозитории Git на: ». После того, как вы это сделаете, вы можете удалить главную ветку.
источник
Если вы столкнулись с этой проблемой с GitHub , выполните действия до удаления ветки на удаленном компьютере. Это не позволит тебе этого сделать. Затем войдите в веб-интерфейс и в репозитории перейдите в Настройки → Филиалы → Ветвь по умолчанию . Измените его на новую ветку и выполните остальные шаги.
источник
В идеале вы хотите настроить отслеживание, поэтому сделайте следующее:
Теперь вы хотите удалить остальные?
Просто!
источник
Поскольку вы закончили переименование ветвей, чтобы установить HEAD
release
для удаленногоЗатем, чтобы удалить
master
ветку на удаленном компьютере, вы должны быть администратором, по крайней мере, на GitHub. Пожалуйста, обратитесь к этому сообщению для получения дополнительной информации.источник