Почему после команды git branch я вижу origin/master вместо master

Мой друг пытался клонировать исходники из ветки git. Когда я попробовал на своей машине "git branch", он выдает: origin/master. Я клонировал те же источники, но после ветки git я всегда видел вывод: master. Я прочитал, что origin / master означает удаленную ветвь, и я не понимаю, почему он видит удаленную ветвь вместо локальной ветви. Что может быть причиной проблемы?

2 ответа

Я думаю, что ответ довольно прост, ваш друг проверен на происхождение / мастер, назначенный мастером. Выполнить cmd:

git branch --all

В списке показанных веток попробуйте найти ветку masterи если такой ветки нет, просто зацените ее

git checkout master

А затем удалите оригинал / мастер из локальных копий

git branch -D origin/master

Скорее всего, это вызвано устранением неоднозначности ссылок, поскольку можно назвать источник / master локальной ветви.

Подробности смотрите в Git Revisions Documentation, но, резюмируя, при разрешении ссылки он последовательно проверяет следующие местоположения и возвращает первое совпадение:

$GIT_DIR/<refname>
$GIT_DIR/refs/<refname>
$GIT_DIR/refs/tags/<refname>
$GIT_DIR/refs/heads/<refname>
$GIT_DIR/refs/remotes/<refname>
$GIT_DIR/refs/remotes/<refname>/HEAD

Посмотрите в хранилище вашего друга, и вы найдете этот файл $GIT_DIR/refs/heads/origin/master, Если это так, все работает правильно, и он просто получил неоднозначную ссылку. Он захочет изменить имя своей локальной ветки, чтобы убрать неоднозначность, чтобы не возникало никаких неожиданных проблем.

Обычно это происходит при оформлении заказа при вводе git checkout -b origin/master вместо git checkout -b master origin/master

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

Другие вопросы по тегам