Как загрузить ответвление мерзавцем?

Мне разместили проект на GitHub. Я создал ответвление по одному компьютеру, затем продвинул мои изменения в GitHub с:

git push origin branch-name

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

git pull origin branch-name

... но все это сделало был перезаписать мое основное ответвление с изменениями в моем новом ответвлении.

Что я должен сделать для надлежащего получения по запросу моего удаленного ответвления, не перезаписывая существующие ответвления?

197
задан Johwhite 14 February 2019 в 06:34
поделиться

3 ответа

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

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

-121--626391-

Посмотрите на

ПАРАМЕТРЫ ОБРАТНОГО ВЫЗОВА для определения и

callbacks.php Пример

-121--3332048-

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

git checkout -b newlocalbranchname origin/branch-name

Или вы можете сделать:

git checkout -t origin/branch-name

Последний создаст ветвь, которая также настроена для отслеживания удаленной ветви.


Обновление: Прошло 5 лет с тех пор, как я опубликовал этот вопрос. Я многому научился и гит с тех пор улучшился. Мой обычный рабочий процесс сейчас немного отличается.

Если я хочу получить удаленные ветви, я просто запускаю:

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-ветви . Чтобы перейти на эту ветвь, я могу просто запустить:

git checkout my-bugfix-branch

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

349
ответ дан 23 November 2019 в 05:15
поделиться

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

git fetch origin

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

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

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

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

git checkout [local-branch-name]
22
ответ дан 23 November 2019 в 05:15
поделиться

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

git clone (адрес источника) (имя ветви)

-8
ответ дан 23 November 2019 в 05:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: