У меня есть репозиторий на github с основной веткой (master) и веткой для некоторых экспериментальных работ. Я сделал несколько коммитов и нажал на экспериментальную ветку, и все было в порядке.
Теперь, на другой машине, я пытаюсь клонировать мой репозиторий (Git клон репозитория ) , а затем перейти к экспериментальной ветви (мерзавец контроль branchname ) , но каждый раз , когда я делаю это моя голова получает отдельностоящий и я не могу нажать мои изменения. Что я делаю не так? У меня такое чувство, что где-то мне не хватает фундаментальной концепции git, но чтение случайных страниц руководства по git не дает мне никаких подсказок.
Я новичок в git, извините, если я идиот, но я не могу найти в документации ничего, что могло бы помочь мне снова прикрепить голову.
РЕДАКТИРОВАТЬ
Мне не хватало концепции ветки отслеживания. Теперь, когда я разобрался с этой концепцией, все ясно. Лично я считаюgit branch --track
синтаксис гораздо более интуитивно понятен, чем git checkout -b branch-name origin/branch-name
.
Спасибо за помощь!
источник
git switch
: см. Мой ответ ниже .Ответы:
Для удобства вы можете использовать одну и ту же строку для localname и branchname.
Когда вы выполнили проверку,
origin/branchname
вы на самом деле не проверяли ветку.origin/branchname
это "удаленное" имя, и вы можете получить их список с помощьюЕсли у вас включены цвета, локальные ветви будут одного цвета, а удаленные - другого.
Вы должны сначала сделать удаленную ветку отслеживаемой локально, чтобы иметь возможность переключаться и работать с ней.
источник
git config --global --add color.ui true
Теперь создайте ветку отслеживания:
Затем, поработав там, просто нажмите на github с помощью
источник
Чтобы расширить ответ Кента, после того, как вы сделаете клонирование, единственная ветка, которая у вас будет (пульты не учитываются), - это та, которая была активна в репозитории, из которого вы клонировали, - master в вашем случае.
Итак, сначала вам нужно создать новую ветку для отслеживания удаленной экспериментальной ветки:
а затем проверьте это:
Однако Кент прав - эти две команды можно комбинировать.
источник
В Git 2.23 (август 2019 г.) вы должны использовать
git switch
командуЕсли у вас есть удаленная ветка с таким же именем, она будет автоматически отслеживаться:
источник