Как скачать ветку с git?



у меня есть проект, размещенный на GitHub. Я создал ветку на одном компьютере, а затем подтолкнул мои изменения к github с

git push origin branch-name

теперь я на другом компьютере, и я хочу, чтобы загрузить эту ветку. Поэтому я попробовал:

git pull origin branch-name

...но все это было перезаписано моей главной веткой с изменениями в моей новой ветке.

что мне нужно сделать, чтобы правильно вытащить мою удаленную ветку?

403   7  
git

7 ответов:

благодаря вопрос, я узнал, что мне нужно "проверить" удаленную ветвь как новую локальную ветвь и указать новое имя локальной ветви.

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, таких как я, вот несколько шагов, которые вы можете выполнить, чтобы загрузить удаленный репозиторий, а затем переключиться на ветку, которую вы хотите просмотреть. Они, вероятно, злоупотребляют 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.

вы можете использовать git remote, как:

git fetch origin

а затем Настроить локальную ветвь для отслеживания удаленной ветви, как показано ниже:

git branch --track [local-branch-name] origin/remote-branch-name

Теперь у вас будет содержимое удаленной ветви github в local-branch-name.

вы можете переключиться на это имя локальной ветви и начать работу:

git checkout [local-branch-name]

перейдите в папку на новой машине, которую вы хотите загрузить с git на Git bash.

используйте команду ниже, чтобы загрузить код из любой ветви вам нравится

git clone 'git ssh url' -b 'Branch Name'

он загрузит соответствующий код филиала.

git clone и 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

вы можете использовать :

git clone <url> --branch <branch>

для клонирования / загрузки только содержимого ветки.

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

эта команда напрямую дайте вам содержимое ветки. Это сработало для меня.

создайте новый каталог и вместо него сделайте клон.

git clone (адрес происхождения) (название филиала)

    Ничего не найдено.

Добавить ответ:
Отменить.