2015-07-04 3 views
9

Я видел разные способы Checkout существующего удаленного филиала:заказ существующий удаленный филиал

Пусть мой друг подтолкнуло новый филиал «bigbug», и я хочу, чтобы проверить и включил мою локальную рабочую копию в этой отрасли, у меня есть ниже опционов:

1. git checkout -b bigbug origin/bigbug 

2. git checkout -t origin/bigbug 

3. git fetch 
    git checkout bigbug 

Все ли три варианта доступны в актуальном выпуске git и действительны? Если все верно, есть ли разница между ними и какой из них использовать?

ответ

17

Основание для команды оформления заказа является:

git checkout --[options] <local branch> <remote>/<tracked branch> 

При выполнении git checkout -b bigbug origin/bigbug вы говорите Git выполнить две команды:

  1. мерзавец филиал bigbug происхождения/bigbug (мерзавец создает ветвь с именем bigbug и отслеживание установки в начало/bigbug)
  2. git checkout bigbug (git меняет ваше рабочее пространство в соответствии с веткой Bigbug)

Когда вы выполняете git checkout -t origin/bigbug, вы говорите Git, чтобы выполнить те же две команды выше. Разница в том, что он назовет локальную ветвь с тем же именем удаленной ветви (в первом примере вы можете изменить имя удаленной ветви в зависимости от того, что вы хотите). Параметры -t - то же самое из --track.

В последней команде, при запуске: git fetch вы говорите Git для поиска на удаленных хранилищах для новых фиксаций, веток и т.д. Затем при запуске git checkout bigbug вы сказать ему, чтобы изменить рабочее пространство, чтобы соответствовать ветвям bigbug. Если у вас есть локальная ветка с этим именем, Git проверит ее. Если нет, он будет видеть удаленные ветви на одно совпадающее имя, а затем создать локальную ветвь с тем же именем.

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

+0

спасибо за разъяснение, теперь все ясно. –

Смежные вопросы