#git #git_checkout
Я пытаюсь получить код из ветки удаленного репозитория:
Кто-то отправил в репозиторий ветку с названием test с помощью git push origin test.
Я могу видеть ветку при помощи git branch -r, но как мне получить эту ветку?
git checkout test не работает.
git checkout origin/test что-то делает, но git branch возвращает * (no branch). Я
нахожусь на «no branch».
Перевод вопроса «Checkout remote Git branch » @Juri Glass.
Ответы
Ответ 1
Ответ Перед тем, как начать работу над удалённой веткой локально, необходимо получить её (fetch). Чтобы получить ветку, необходимо сделать следующее: git fetch origin Эта команда обновит все удалённые ветки. Вы сможете видеть все ветки, которые можно получить: git branch -v -a Имея список всех веток удалённого сервера, вы можете получить код необходимой ветки для редактирования, и у вас появится её локальная рабочая копия: git checkout -b test origin/test Дополнение В современном Git (>= 1.6.6), достаточно git checkout test (Обратите внимание, что test – это не origin/test.) чтобы выполнить волшебную операцию «делай то, что я имею в виду» и создать локальную ветку test, которая будет иметь имя origin/test на удаленном сервере. Таким образом, в версиях Git ≥ 1.6.6, достаточно следующего: git fetch git checkout test Помните, что git checkout test НЕ будет работать в современном git при использовании сразу нескольких удалённых репозиториев. В этом случае воспользуйтесь git checkout -b test remote-name/test. Строка * (no branch) в выдаче git branch означает, что вы находитесь в безымянной ветке, в так называемом состоянии «detached HEAD» (HEAD указывает непосредственно на коммит и не является символической ссылкой на какую-либо ветку). Если в этой безымянной ветке вы произвели несколько коммитов, вы всегда можете создать локальную ветку вне текущего коммита: git checkout -b test HEAD На основе ответа @hallski и отвеа @Jakub Narębski.Ответ 2
Есть возможность создать локальную ветку на основе удалённой с её отслеживанием и идентичным именем с помощью команды git checkout --track [уд.репозитрий/уд.ветка]
Комментариев нет:
Отправить комментарий