Как загрузить ветку с помощью 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 клон (адрес источника) (название ветки)