2012-01-16 2 views
17

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

git push -u new_feature_branch 

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

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

+0

Возможно дублирование. http://stackoverflow.com/questions/1783405/checkout-remote-git-branch –

+2

Возможный дубликат [Как проверить удаленную ветку Git?] (https://stackoverflow.com/questions/1783405/how- do-i-check-out-a-remote-git-branch) – SudoRahul

ответ

26

Обычно мне не нужно использовать git fetch. git pull достаточно. git pull будет синхронизировать ваш репозиторий с пультом дистанционного управления. Затем будет доступен new_feature_branch.

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

git pull 
git checkout new_feature_branch 
+1

git pull == git fetch + git merge –

11

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

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

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

+0

Интересно, почему в этом ответе говорится, что вы ДОЛЖНЫ использовать 'fetch -all', а верхний ответ просто упоминает' fetch'. Который из них? –

+1

@PetriSirkkala В ответе не говорится, что вы должны использовать '-all'. 'fetch -all' говорит выборку всех пультов (если у вас больше, чем, например,' origin'). –

15

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

git fetch 
git checkout -t origin/new_feature_branch 

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

1
git fetch && git checkout new_feature_branch 
+0

не могли бы вы рассмотреть этот вопрос, если у вас есть время. http://stackoverflow.com/questions/20634111/magento-error-when-disable-module –