Как оформить заказ на удаленную ветку в Git? - PullRequest
18 голосов
/ 16 января 2012

Кто-то отправил ветку «новая функция» в общий репозиторий:

git push -u new_feature_branch

Теперь я хотел бы создать копию этой ветви на своем локальном компьютере, чтобы протестировать новую функцию.

Какой самый простой способ сделать это? (Нужно ли fetch / pull до checkout?)

Ответы [ 4 ]

28 голосов
/ 16 января 2012

Я вообще считаю ненужным использовать git fetch. git pull достаточно. git pull синхронизирует ваш репозиторий с пультом. new_feature_branch будет доступно.

git checkout new_feature_branch заметит ветку в источнике и создаст для вас новую локальную ветвь отслеживания и переключится на эту ветку.

git pull
git checkout new_feature_branch
17 голосов
/ 16 января 2012

Самый простой способ сделать это:

git fetch
git checkout -t origin/new_feature_branch

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

11 голосов
/ 16 января 2012

Вам необходимо получить исходящие изменения, чтобы ваш локальный репозиторий включал соответствующие объекты (git fetch --all или git fetch <remote>).

После этого вы можете выполнить извлечение с помощью git checkout <branch> (если вы хотите сделать это явно, вы можете ввести git checkout -b <branch> <remote>/<branch>; локальное имя не обязательно должно совпадать с удаленным). Если у вас еще нет локальной ветки с таким именем, она извлечет удаленную ветку и отследит ее.

В качестве альтернативы этому вы можете использовать git pull <remote> <branch>, но это - с настройками по умолчанию - объединит удаленную ветку с вашей текущей, что, вероятно, не то, что вы хотите.

1 голос
/ 07 октября 2015
git fetch && git checkout new_feature_branch
...