Я совершил неправильную ветку Git.Как убрать? - PullRequest
1 голос
/ 07 ноября 2011

Я использую git / github, и по ошибке я фиксирую в ветке "master" вместо "4.2".Теперь я создал отдельную ветку, которая должна быть «основной», «4.1», и выбрал основные коммиты.

Merges

Теперь я хочу скопировать «4.1»в мастер, чтобы избежать коммитов, которые я сделал 1, 2, 3 и 7 ноября. Каков наилучший способ сделать это?


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

$ git push origin :master
remote: error: refusing to delete the current branch: refs/heads/master
To git@github.com:atk4/atk4.git

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

У них будет удаленная ветка отслеживания (источник / мастер), указывающая на новое место, если они сделают git fetch. Если они сделают git pull, им придется иметь дело с конфликтами, если их работу они еще не продвинули (если они тоже отрабатывали мастера). В зависимости от того, сколько других работало с вами над этим, это может иметь или не иметь большого значения.

Что они должны делать, если у них есть проверенный мастер, так это 'git reset --hard origin / master`. Это потеряло бы любые их коммиты, которые они не давили. Они могут хотеть разветвляться, чтобы захватить это первым. Затем они могут перебазировать или объединить эти изменения, когда будут готовы.

Если они не работают с мастером и хотят просто обновить свою локальную ветку, они могут просто

git push . +origin/master:master

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

1 голос
/ 07 ноября 2011

Мне удалось восстановить с помощью этого:

# git back to my master branch
git checkout master

# reset branch to other branch
git reset --hard 4.1

# push changes and --force to avoid rejection
git push --force origin master

enter image description here

Мастер теперь такой, каким он должен был быть. Интересно, как это повлияет на клонов, которые будут «тянуть» мастера.

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