все ответы, которые я видел здесь, верны, но есть гораздо более чистый способ клонировать репозиторий и вытащить все ветви одновременно.
Когда вы клонируете репозиторий, вся информация о ветвях фактически загружается, но ветви скрыты. С помощью команды
$ git branch -a
Вы можете показать все ветви хранилища, и с помощью команды
$ git checkout -b branchname origin/branchname
затем вы можете «загрузить» их вручную по одному.
Однако, когда вы хотите клонировать репо с большим количеством веток, все вышеприведенные способы являются длительными и утомительными в отношении гораздо более чистого и быстрого способа, который я собираюсь показать, хотя это немного сложно. Вам нужно три шага для этого:
- Первый шаг
создайте новую пустую папку на своем компьютере и клонируйте зеркальную копию папки .git из репозитория:
$ cd ~/Desktop && mkdir my_repo_folder && cd my_repo_folder
$ git clone --mirror https://github.com/planetoftheweb/responsivebootstrap.git .git
Локальный репозиторий внутри папки my_repo_folder по-прежнему пуст, теперь есть только скрытая папка .git, которую вы можете увидеть с помощью команды «ls -alt» из терминала.
- Второй шаг
переключите этот репозиторий из пустого (пустого) репозитория в обычный репозиторий, переключив логическое значение «bare» конфигурации git на false:
$ git config --bool core.bare false
- Третий шаг
Возьмите все, что находится внутри текущей папки, и создайте все ветви на локальном компьютере, поэтому сделайте это обычным репо.
$ git reset --hard
Теперь вы можете просто набрать команду «git branch» и увидеть, что все ветви загружены.
Это быстрый способ, которым вы можете клонировать git-репозиторий со всеми ветками одновременно, но это не то, что вы хотите сделать для каждого отдельного проекта таким образом.
git branch -a
) показывает вам ветви на удаленном компьютере, но если вы попытаетесь проверить какие-либо из них, вы окажетесь в состоянии «отключенный ГОЛОВ». Следующий ответ «вниз» (второе по популярности) отвечает на другой вопрос (а именно: как вытянуть все ветви, и, опять же, это работает только для тех, кого вы отслеживаете локально). В некоторых комментариях указывается, что вы можете анализироватьgit branch -a
результаты с помощью сценария оболочки, который будет локально отслеживать все удаленные ветви. Резюме: не существует мерзкого способа сделать то, что вы хотите, и в любом случае это может быть не очень хорошей идеей.