Как удалить главную ветку и переименовать другую главную ветку? - PullRequest
0 голосов
/ 06 марта 2019

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

Ответы [ 2 ]

0 голосов
/ 07 марта 2019

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

git branch -m master old-master
git branch -m testing master
# old master saved, new master is now `master`

git push -f origin master
# master overridden in the repo

git push -f origin old-master
git branch -d old-master
# Old master backed up, removed locally

Помните, что любому, кто сотрудничает с вами, необходимо разрешать любые конфликты, которые у них возникают между их ветвями и новым мастером.

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

git branch -m master erroneous-master
git checkout -b master origin/old-master
git push -f master origin/master
git push -f erroneous-master origin/erroneous-master

Мы спасаем плохого хозяина по той же причине; мы можем хотеть спасти вещи от этого. git push origin :branch-to-remove избавится от ненужных веток позже, когда вы уверены, что они вам не понадобятся.

0 голосов
/ 07 марта 2019

Есть несколько способов сделать это, используя WebUI или Git. Однако проблема, с которой вы столкнетесь, заключается в том, что вы не можете удалить ветку по умолчанию, а ветка по умолчанию обычно master. Независимо от того, какой вариант вы используете, , пожалуйста, клонируйте свежую версию репозитория в другую папку, чтобы случайно не испортить .

Использование веб-интерфейса:

  1. Следуйте этому руководству , чтобы изменить ветку по умолчанию для тестирования
  2. Удалить master из вида ветвей
  3. Перейдите в раскрывающийся список ветвей и, набрав testing, начните вводить master, и GitHub предложит перейти с testing на master. На данный момент они одинаковы, то есть они указывают на один и тот же коммит.
  4. Вернитесь к руководству, указанному в (1), и измените ветку по умолчанию на master
  5. Удалить testing из вида ветвей.

Использование Git (при условии, что локальный репозиторий обновлен до апстрима):

  1. Пробег git push origin testing:master -f
  2. Удалить testing: git push origin :testing

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...