Как загрузить ветку с помощью git?
У меня есть проект, размещенный на GitHub. Я создал ветку на одном компьютере, а затем переместил мои изменения в github с помощью
git push origin branch-name
Теперь я на другом компьютере, и я хочу загрузить эту ветку. Поэтому я попробовал:
git pull origin branch-name
... но все это означало переписывание моей ветки мастера изменениями в моей новой ветке.
Что мне нужно сделать, чтобы правильно потянуть удаленную ветвь?
Ответы
Ответ 1
Благодаря связанному вопросу, я узнал, что мне нужно "проверить" удаленный филиал как новый локальный ветвь и указать новое имя локального ветки.
git checkout -b newlocalbranchname origin/branch-name
Или вы можете сделать:
git checkout -t origin/branch-name
Последний создаст ветвь, которая также настроена для отслеживания удаленной ветки.
Обновление: Прошло 5 лет с тех пор, как я изначально разместил этот вопрос. Я многому научился и git улучшился с тех пор. Теперь мой обычный рабочий процесс немного отличается.
Если я хочу получить удаленные ветки, я просто запускаю:
git pull
Это позволит получить все удаленные ветки и слить текущую ветку. Он отобразит вывод, который выглядит примерно так:
From github.com:andrewhavens/example-project
dbd07ad..4316d29 master -> origin/master
* [new branch] production -> origin/production
* [new branch] my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.
Теперь git знает о моем новом my-bugfix-branch
. Чтобы переключиться на эту ветку, я могу просто запустить:
git checkout my-bugfix-branch
Обычно мне нужно создать ветвь, прежде чем я смогу ее проверить, но в более новых версиях git, достаточно умный, чтобы знать, что вы хотите проверить локальную копию этой удаленной ветки.
Ответ 2
Для любых Git новичков вроде меня, вот несколько шагов, которые вы могли бы предпринять, чтобы загрузить удаленный репозиторий, а затем перейдите к ветке, которую вы хотите просмотреть. Они, вероятно, злоупотребляют Git каким-то образом, но это помогло мне!: -)
Клонировать репозиторий, для которого вы хотите загрузить код (в этом примере я выбрал проект LRResty на Github):
$ git clone https://github.com/lukeredpath/LRResty.git
$ cd LRResty
Проверьте, какая ветка вы используете в данный момент (она должна быть главной ветвью):
$ git branch
* master
Проверьте ветку, которую вы хотите, в моем случае она называется "arcified":
$ git checkout -b arcified origin/arcified
Branch arcified set up to track remote branch arcified from origin.
Switched to a new branch 'arcified'
Подтвердите, что вы используете ветку, которую хотите:
$ git branch
* arcified
master
Если вы хотите позже обновить код, запустите git pull
:
$ git pull
Already up-to-date.
Ответ 3
Вы можете использовать git remote, например:
git fetch origin
а затем настройте локальную ветвь для отслеживания удаленной ветки, как показано ниже:
git branch --track [local-branch-name] origin/remote-branch-name
Теперь у вас будет содержимое удаленной ветки github в local-branch-name.
Вы можете переключиться на это имя локальной ветки и начать работу:
git checkout [local-branch-name]
Ответ 4
Git клон и cd в имени репо:
$ git clone https://github.com/PabloEzequiel/iOS-AppleWach.git
Cloning into 'iOS-AppleWach'...
$ cd iOS-AppleWach
Перейдите на ветку (страница GitHub), которую я хочу:
$ git checkout -b gh-pages origin/gh-pages
Branch gh-pages set up to track remote branch gh-pages from origin.
Switched to a new branch 'gh-pages'
И вытащите ветку:
$ git pull
Already up-to-date.
LS:
$ ls
index.html params.json stylesheets
Ответ 5
Перейдите в папку на новом компьютере, который вы хотите загрузить с git на git bash.
Используйте команду ниже для загрузки кода из любой ветки, которая вам нравится
git clone 'git ssh url' -b 'Branch Name'
Он загрузит соответствующий код ветвления.
Ответ 6
Создайте новый каталог и сделайте клон вместо этого.
git клон (адрес источника) (название ветки)