Как удалить или заменить мастер ветку в github? - PullRequest
0 голосов
/ 20 января 2020

У меня проблема при работе с github.

Проблема:

  1. Я создал хранилище.

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

  3. Затем я создаю новую ветку (OhThisAmazingBranch) , пустой и начал нормальный проект без проблем.

  4. Мне нужно удалить главную ветку и сделать OhThisAmazingBranch в качестве главной.

Как это сделать ? Это вообще возможно?

PS Я работаю с использованием VS 2019

UPD. Я пытался посоветовать то, что я нашел, прежде чем спрашивать здесь, они не работали, так что я здесь.

UPD2. Спасибо всем за ваши ответы, я постараюсь все, что выглядит для меня полезным, и сообщу, помогло ли это.

Ответы [ 4 ]

1 голос
/ 20 января 2020

Хотя в других ответах упоминается, как восстановить основную ветку, в случае, если вы sh будете делать именно то, что упоминаете в вопросе, выполните следующие действия:

  1. Измените ветку по умолчанию от master до OhThisAmazingBranch: это можно сделать в Settings > Branches и настройке ветви по умолчанию. Подробнее здесь .
  2. Удалить ветвь master: это можно сделать, щелкнув значок ветки, а затем параметр удаления перед именем ветки. Дополнительная информация здесь .

Затем вы можете переименовать OhThisAmazingBranch, если вы будете sh, что описано здесь .

1 голос
/ 20 января 2020

полный сброс вашей основной ветви с помощью "OhThisAmazingBranch"

git reset --hard OhThisAmazingBranch

Force pu sh ваша новая основная ветвь

git push -f origin master

Вуаля

0 голосов
/ 20 января 2020

Если вам разрешено и вы хотите выполнить деструктивную операцию, вы можете попробовать что-то вроде этого:

  1. Оформить вашу локальную главную ветку. например, git checkout master
  2. Сбросьте его до последнего коммита, который вы хотите сохранить. например, git reset --hard COMMIT_HASH
  3. Затем принудительно-pu sh это к вашему пульту. например, git push -f origin master

Теперь и ваша локальная, и удаленная главные ветки совпадают. Вы можете разветвляться из него и выбирать коммиты из другой ветки. (Хотя могут быть конфликтами.)

0 голосов
/ 20 января 2020

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

# from local master
git reset --hard <first SHA-1 commit hash>
# make the code changes you want here
git commit --amend -m 'new first commit'
git push --force origin master

Обратите внимание, что шаг изменения необходим для введения изменения, которые вы хотите в начале master ветви.

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