Основание для команды оформления заказа является:
git checkout --[options] <local branch> <remote>/<tracked branch>
При выполнении git checkout -b bigbug origin/bigbug
вы говорите Git выполнить две команды:
- мерзавец филиал bigbug происхождения/bigbug (мерзавец создает ветвь с именем bigbug и отслеживание установки в начало/bigbug)
- git checkout bigbug (git меняет ваше рабочее пространство в соответствии с веткой Bigbug)
Когда вы выполняете git checkout -t origin/bigbug
, вы говорите Git, чтобы выполнить те же две команды выше. Разница в том, что он назовет локальную ветвь с тем же именем удаленной ветви (в первом примере вы можете изменить имя удаленной ветви в зависимости от того, что вы хотите). Параметры -t - то же самое из --track.
В последней команде, при запуске: git fetch
вы говорите Git для поиска на удаленных хранилищах для новых фиксаций, веток и т.д. Затем при запуске git checkout bigbug
вы сказать ему, чтобы изменить рабочее пространство, чтобы соответствовать ветвям bigbug. Если у вас есть локальная ветка с этим именем, Git проверит ее. Если нет, он будет видеть удаленные ветви на одно совпадающее имя, а затем создать локальную ветвь с тем же именем.
Итак, когда вы используете то или иное, это зависит от того, что вы хотите. В большинстве случаев они будут работать одинаково (за исключением последнего примера, когда у вас уже есть локальная ветвь с тем же именем удаленной ветви). Самое главное - точно знать, что делают команда и параметры, и комбинировать их в соответствии с тем, что вы хотите.
спасибо за разъяснение, теперь все ясно. –