У меня есть две ветки на дистанционном репо - мастер и разработка.Почему git checkout создает ветку, которая отслеживает удаленную ветку?
Теперь, после клонирования репозитория, я был на локальной локальной ветви с именем master
. После git checkout development
, это сообщение, которое я получил:
Отдел развития, разработанный для отслеживания развития удаленной ветви от источника. Переведено в новое подразделение «разработка»
Как это могло быть? Я не указал флаг -b
, чтобы создать новый локальный ветвь. Если я сделаю git checkout adasdasd
, я получаю error: pathspec 'asdasdasd' did not match any file(s) known to git.
, что имеет смысл. Но разве это просто поведение по умолчанию git (создание локальной ветви, если имя, указанное в checkout, соответствует удаленной ветке)?
Короче говоря, это выглядит как git checkout development
, выполняется в первый раз, фактически выполняется git checkout -b development origin/development
.
Зачем вам нужна локальная ветка с тем же именем, что и удаленная ветвь, но это * не * отслеживает удаленную ветку? Существует много возможностей для путаницы, когда вы используете систему управления версиями, например 'git', зачем создавать больше? – Caleb
@Caleb, потому что удаленная ветвь называется чем-то вроде 'development' - имя, которое может быть трудно избежать? Имейте в виду, что на нескольких пультах может быть сотни филиалов, имена которых кто-то хочет использовать локально. – jwg