Как сбросить 'master' в 'origin / master'?

могу ли я сделать следующее более простым способом?

git checkout origin/master
git branch -D master
git branch master
git checkout master
10
задан Peter Mortensen
22.01.2023 16:28 Количество просмотров материала 3502
Распечатать страницу

5 ответов

As KindDragonответ упоминания, вы можете воссоздать master непосредственно в origin/master С:

git checkout -B master origin/master

The git checkout на странице отмечает:

If -B дали, <new_branch> создается, если не существует;в противном случае он сбрасывается. Это транзакционный эквивалент

$ git branch -f <branch> [<start point>]
$ git checkout <branch>

первоначально предложил:

что-то like:

$ git checkout master

# remember where the master was referencing to
$ git branch previous_master

# Reset master back to origin/master
$ git reset --hard origin/master

Шаг 2 не является обязательным.

229
отвечен VonC 2023-01-24 00:16

Git поддерживает следующую команду:

git checkout -B master origin/master

Проверьте origin/master ответвление и сброс master есть филиал.

74
отвечен KindDragon 2023-01-24 02:33

Я думаю, что даже ответ VonC имеет сложность по сравнению с этим вариант:

git update-ref refs/heads/master origin/master
git reset --hard master

git автоматически регистрирует каждое значение ref (через reflog). Поэтому после выполнения этой команды master@{1} ссылается на Предыдущее значение master.

ответ VonC верен, но он тратит время на извлечение старого значения master в файловую систему.

Если вы заботитесь о потерянных объектов в репозитории, то вы можете запустить git gc

28
отвечен Alexander Bird 2023-01-24 04:50

если вы уже на master вы можете сделать следующее:

git reset --hard origin/master

он будет указывать местный master ветка на пульт origin/master и отклонить любые изменения в рабочем каталоге.

12
отвечен Fuad Saud 2023-01-24 07:07

вы уже мастер. Вы хотите удалить удаленный источник так git pull ничего не делает. Так

git remote rm origin

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

NB: если local опережает remote, ваше решение удалит локальные изменения!

-2
отвечен Michael Tomkins 2023-01-24 09:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх