Я работаю над своим первым репозиторием GIT, в котором есть несколько веток. В течение урока мы должны переключаться между различными ветвями.
На данный момент я клонировал в Visual Code Studio репозиторий, который отлично работает. Проект нормально открывается на vscode.
Когда я пытаюсь переключить ветки, это не работает.
Когда я набираю: git branch
, он показывает мне только: * main
.
Однако веток на проекте должно быть больше! Вот ссылка на гит: https://github.com/OpenClassrooms-Student-Center/debuggez-l-interface-de-votre-site/tree/main
When I type : git branch it only shows me :
* main
По умолчанию git branch
показывает ветки местный.
Когда вы получаете репозиторий, его ветки начинаются как ветки дистанционный пульт — они все еще извлекаются, но начинаются только под remotes/repo/branchname
.
git branch [--list] -r|--remote
, чтобы увидеть это.Когда вы создаете локальную ветку, которая отслеживает удаленную ветку, как это делается по умолчанию для master -> remotes/origin/master
(или в вашем случае для main -> remotes/origin/main
), то у вас есть локальная ветка.
git branch [--list]
, чтобы увидеть это.Вы хотите увидеть ветки все:
git branch [--list] -a|--all
чтобы все увидеть.Когда вы извлекаете локальную ветку, которая еще не существует, но соответствует имени удаленной ветки, она будет настроена на правильное отслеживание удаленной ветки, даже если вы не могли ее увидеть при простом запуске git branch
.
When I try to switch branches, it doesn't work
Но ты не попробуй переключить ветки. Вы смотрели, какие ветки существуют (не осознавая, что это показывает только локальные ветки), но на самом деле никогда не запускали git checkout partie-1/chapitre-1/section-1
или что-то в этом роде. Верно?
Вы должны чувствовать себя спокойно по поводу пытающийся еще до того, как узнали вышеизложенное: вы всегда можете снова удалить ветку, если что-то пойдет не так, и checkout
сбой не имеет никаких побочных эффектов. Если вы неправильно напишете имя ветки, это не разрушит ваш репозиторий и не потеряет вашу работу.
Вы также должны иметь привычку проверять онлайн-документацию. Запуск git help branch
показывает все эти варианты.
Пример вывода:
$ git branch
* main
$ git branch -r
remotes/origin/HEAD -> origin/main
remotes/origin/main
remotes/origin/partie-1/chapitre-1/section-1
$ git branch -a
* main
remotes/origin/HEAD -> origin/main
remotes/origin/main
remotes/origin/partie-1/chapitre-1/section-1
PS. Причина наличия как локальной, так и удаленной версии одной и той же ветки заключается в том, что они могут расходиться: вам нужно иметь возможность получить удаленную версию без, изменяющую вашу локальную копию, чтобы сравнить их и решить, что с этим делать (обычно слияние или перебазирование).
Спасибо, сэр, вы решили все проблемы. Я думаю, что теперь я понял, как правильно использовать git и VSC, я могу правильно перемещаться по всем разделам. Большое спасибо сообществу.
Если ответ помог, вы можете пометить его как принятый - в настоящее время этот вопрос все еще отображается как нерешенный.
Мне очень жаль, я никогда не оставлю вопрос таким, когда люди хорошо ответили на него. Теперь все ясно для меня! Еще раз спасибо :)
Пробовали ли вы перейти в другой филиал? Возможно, его просто нет на вашей локальной машине. Попробуйте перейти на другую ветку, используя git checkout, и он должен быть получен git с удаленного сервера.