Я хочу дать вам команду oneliner для извлечения всех удаленных веток в ваш локальный и переключения на желаемую недавно созданную локальную ветвь:
git fetch && git checkout discover
после выполнения вышеуказанной команды вы получите следующее сообщение:
Switched to a new branch 'discover'
Branch discover set up to track remote branch discover from origin.
в первой строке указано, что переключился на
Новая ветка - почему новая? это уже есть в удаленном!
Но на самом деле вы также должны создавать его локально, ветка берется из удаленного индекса и создается локально для вас.
Здесь discover
- это новая ветвь, созданная из удаленной ветки вашего репозитория discover
.
Но вторая строка 1022 * дает больше информации, чем первая, которая сообщает нам, что:
наш филиал настроен на трек удаленного филиала с тем же именем.
Хотя git fetch
извлекает все ветки в локальную Но если вы запустите git branch
после нее, вы увидите только master
ветку в локальной почему ?
потому что для каждой удаленной ветви вы должны также создать ее локально, чтобы отслеживать ее как git checkout <branchname>
, как мы делали в примере выше.
после выполнения команды git checkout
вы можете запустить git branch
, теперь вы можете увидеть обе ветви:
- мастер и 2. найти в вашем местном списке.