могу ли я сделать следующее более простым способом?
git checkout origin/master
git branch -D master
git branch master
git checkout master
могу ли я сделать следующее более простым способом?
git checkout origin/master
git branch -D master
git branch master
git checkout master
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 не является обязательным.
Git поддерживает следующую команду:
git checkout -B master origin/master
Проверьте origin/master
ответвление и сброс master
есть филиал.
Я думаю, что даже ответ VonC имеет сложность по сравнению с этим вариант:
git update-ref refs/heads/master origin/master
git reset --hard master
git автоматически регистрирует каждое значение ref (через reflog). Поэтому после выполнения этой команды master@{1}
ссылается на Предыдущее значение master.
ответ VonC верен, но он тратит время на извлечение старого значения master в файловую систему.
Если вы заботитесь о потерянных объектов в репозитории, то вы можете запустить git gc
если вы уже на master
вы можете сделать следующее:
git reset --hard origin/master
он будет указывать местный master
ветка на пульт origin/master
и отклонить любые изменения в рабочем каталоге.
вы уже мастер. Вы хотите удалить удаленный источник так git pull
ничего не делает. Так
git remote rm origin
вы можете добавить текущий репозиторий в качестве источника в удаленный репозиторий, если хотите.
NB: если local опережает remote, ваше решение удалит локальные изменения!
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]