Как скачать ветку с git?
у меня есть проект, размещенный на GitHub. Я создал ветку на одном компьютере, а затем подтолкнул мои изменения к github с
git push origin branch-name
теперь я на другом компьютере, и я хочу, чтобы загрузить эту ветку. Поэтому я попробовал:
git pull origin branch-name
...но все это было перезаписано моей главной веткой с изменениями в моей новой ветке.
что мне нужно сделать, чтобы правильно вытащить мою удаленную ветку?
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 (адрес происхождения) (название филиала)
Comments