Дополнительно
Как клонировать все удаленные ветки в Git?
У меня есть ветка master
и ветка development
, обе выложены на GitHub. Я clone
d, pull
ed и fetch
ed, но мне так и не удалось вернуть ничего, кроме ветки master
.
Я уверен, что я упускаю что-то очевидное, но я прочитал руководство и не получил никакой радости.
3970
20
Во-первых, клон удаленного ГИТ репозитория и КД в это:
Далее, посмотрите на местные филиалы в вашем репозитории:
Но есть и другие ветви, прячась в свой репозиторий! Вы можете увидеть их с помощью
-это
флаг:Если вы хотите только быстро взглянуть на вышестоящий филиал, вы можете проверить его напрямую:
Но если вы хотите работать на этой ветке, вы'll необходимо, чтобы создать местное отделение отслеживания, который выполняется автоматически:
и вы увидите
Что последняя строка бросает некоторых людей: "в новый филиал на" - Да? Что это действительно означает, что ветвление происходит из индекса и создается локально для вас. Линии previous на самом деле более информативным, как он говорит вам, что филиал создается для отслеживания удаленных филиалов, которые, как правило, означает возникновение филиал/branch_name
Теперь, если вы смотрите на свои местные отделения, это то, что вы'll увидеть:
Вы можете следить за более чем один удаленный репозиторий с помощью удаленного git`.
На данный момент, вещи становятся немного сумасшедшими, так что беги
гифок
, чтобы увидеть, что'ы происходит:Если у вас много удаленных филиалов, которые вы хотите загрузить сразу, то:
Теперь вы можете оформить любую ветку, как вам нужно, не задев удаленный репозиторий.
Это Баш сценарий помог мне:
Это позволит создать филиалы отслеживания для всех удаленных филиалов, кроме мастера (которых вы, вероятно, получил от исходной команды клона). Я думаю, что ты можешь еще нужно сделать
чтобы убедиться в этом.
Используя опцию
--зеркало
кажется, чтобы скопироватьдистанционное
отслеживание веток правильно. Однако, он устанавливает репозиторий как "голый" репозиторий, так что вы должны превратить его обратно в нормальное хранилище после.<суп>ссылка: ГИТ FAQ: Как я могу клонировать репозиторий с удаленной отслеживаемых ветках?
Вы можете легко переключиться на ветку без использования фантазии "и ГИТ кассе -б somebranch происхождения/somebranch" по синтаксис. Вы можете просто сделать:
Git автоматически делать правильные вещи:
ГИТ будет проверять, является ли филиал с тем же именем существует в точности один пульт, и если это произойдет, он отслеживает ее так же, как если бы вы явно указали, что это's в удаленном филиале. Из Git-страница оформления заказа человек мерзавец 1.8.2.1:
О,
и GT; $ ГИТ кассе -б экспериментальные происхождения/экспериментальная
используя
или более подробную информацию, но легче запомнить
может быть лучше, в плане отслеживания удаленного репозитория.
Выполняемая вами выборка должна получить все удаленные ветки, но она не создаст для них локальных веток. Если вы используете gitk, вы должны увидеть удалённые ветки, описанные как "remotes/origin/dev" или что-то подобное.
Чтобы создать локальную ветку на основе удалённой ветки, сделайте примерно следующее:
В результате должно получиться что-то вроде: Теперь, когда вы находитесь на ветке dev, "git pull" обновит вашу локальную ветку dev до той же точки, что и удаленная ветка dev. Обратите внимание, что при этом будут получены все ветки, но только та, на которой вы находитесь, окажется на вершине дерева.При выполнении команды "git clone git://location" будут извлечены все ветви и метки.
Чтобы работать над конкретной удалённой веткой, предположим, что она является исходной:
Использовать псевдонимы. Хотя, нет'т любое родной Git-репозиторий-вкладыши, вы можете определить свои собственные как
и затем использовать его в качестве
Почему вы видите только на "Мастер"и
клон git
загрузки всех удаленных удаленных филиалов, но по-прежнему считает их на "дистанционное" и, даже если эти файлы находятся в новый репозиторий. Там'с одним исключением, которое заключается в том, что процесс клонирования создает локальную ветку под названием "Мастер" из удаленную ветку под названием "Мастер" по. По умолчанию, филиалГИТ
показывает только местные отделения, который является, почему вы видите только, что "Мастер" по.ветка-ГИТ
показывает все филиалы, включая удаленные филиалы.Как получить местные отделения
Если вы на самом деле хотите работать на ветке, вы'будете, вероятно, хотите, а "местные" по версии его. Для того, чтобы просто создавать локальные ветки удаленные ветки (не проверяя их и тем самым изменяя содержимое вашего рабочего каталога), вы можете сделать нечто подобное:
В этом примере,
branchone
- название местного отделения вы'вновь создавая на основепроисхождения/branchone
; если вместо этого вы хотите создать местные отделения с разными именами, вы можете сделать это:Как только вы'ве создали местное отделение, вы можете увидеть его филиал
ГИТ
(помните, вы не'т нужна-а
, чтобы увидеть местные филиалы).Это вовсе'т слишком сложно, это очень простой и прямой шаги следующим образом;
ГИТ выборки происхождения
это вернет все удаленные ветки на локальный.ветка-ГИТ
это покажет вам все удаленные ветки.ГИТ кассе-отслеживать происхождение/<филиал вы хотите оформить заказ и GT;
Проверьте, находитесь ли вы в нужной ветке на следующую команду;
Вывод будет такой;
Обратите внимание на * знак, обозначающий текущую ветку.
Лучше поздно, чем никогда, но здесь это лучший способ, чтобы сделать это:
На данный момент Вы иметь полную копию удаленного РЕПО со всеми его'ветви с (проверить с ветке git
). Вы можете использовать
--зеркаловместо
--голые, если ваш удаленный РЕПО собственных пультов.Просто сделать это:
Вы видите, 'в Git клон git://пример.ком/myprojectt' получает все, даже ветки, вы просто должны оформить заказ на них, то ваш местный филиал будет создан.
Вам нужно только вставлять "клон git", чтобы получить все филиалы.
Даже если вы видите только ветку master, вы можете использовать и"ветка-мерзавец", чтобы видеть все ветви.
И вы можете переключиться на любой ветви, которые у вас уже есть.
Дон'т беспокоиться, что после тебя "клон git" Ну, вы не'т нужно соединить с удаленного РЕПО, то "ГИТ ветку- " и "ГИТ кассе " могут быть выполнены успешно, когда вы закрываете ваш WiFi. Так доказано, что когда вы делаете и"клон git", он уже скопировал все ветки из удаленного РЕПО. После этого, вы Дон't нуждаются в удаленном РЕПО, ваши местные уже все ветки' коды.
Предполагается, что
git clone
копирует весь репозиторий. Попробуйте клонировать его, а затем выполнить командуgit branch -a
. Должен появиться список всех ветвей. Если после этого вы захотите перейти на ветку "foo" вместо "master", используйтеgit checkout foo
.Использовать мой инструмент ГИТ_remote_branch (необходимо Рубин установлен на вашем компьютере). Это'ы построенные специально для манипуляций с удаленными филиалами умер легко.
Каждый раз, когда он делает операцию от вашего имени, он печатает красным в консоли. С течением времени, они, наконец, придерживаться в ваш мозг :-)
Если вы Don'т хотим, ГРБ, чтобы выполнять команды от вашего имени, просто использовать 'объяснить' характеристика. Команды будут напечатаны в консоли вместо исполнены для вас.
Наконец, все команды имеют псевдонимы, чтобы облегчить запоминание.
Обратите внимание, что это альфа-версия ;-)
Здесь'ы помочь при запуске ГРБ помочь:
в <предварительно> git_remote_branch версия 0.2.6
Использование:
ГРБ создать branch_name [origin_server]
ГРБ опубликовать branch_name [origin_server]
ГРБ переименовать branch_name [origin_server]
ГРБ удалить branch_name [origin_server]
ГРБ трек branch_name [origin_server]
Примечания:
Поясните мета-команды: вы можете также добавить любую команду с ключевое слово 'объяснить'. Вместо выполнения команды, git_remote_branch просто вывести список команд, которые необходимо выполнить для достижения этой цели.
Пример: ГРБ объяснить создание ГРБ объяснить создать на GitHub my_branch
Все команды имеют псевдонимы: создать: создать, новый удалить: удалить, уничтожить, убить, удалить, ГРМ публикации: публикации, remotize переименовать: переименование, рН, МВ, двигаться трек: трек, следовать, возьми, принеси </пред>
все ответы, которые я видел здесь допустимы, но есть намного чище способ, чтобы клонировать репозиторий и тянуть все ветки сразу.
Когда вы клонируете репозиторий вся информация о филиалах на самом деле загружены, но ветки скрыты. С помощью команды
вы можете показать все ветки репозитория, и с командой
тогда вы можете "загрузить" их вручную по одному.
Однако, когда вы хотите, чтобы клонировать РЕПО с большим количеством отделений все способы показано выше длительным и утомительным в отношении гораздо чище и быстрее, так что я собираюсь показать, хотя это'ы немного сложнее. Вам нужно три шага, чтобы добиться этого:
создайте новую пустую папку на вашем компьютере и клон зеркальная копия .папку Git из репозитория:
локальный репозиторий внутри my_repo_folder папка еще пустая, есть только скрытый .в Git папку, теперь вы можете увидеть и "ЛС-альт" по команде с терминала.
переключатель этот репозиторий из пустой (пустой) репозиторий для обычного репозитория путем переключения логическое значение на "голой" из конфигураций ЖКТ в false:
Возьмите все, что внутри текущей папки и создать все ветки на локальном компьютере, таким образом делая это нормальный РЕПО.
Итак, теперь вы можете просто ввести команда "ветку в Git" и вы можете видеть, что все ветви загружаются.
Это быстрый способ, в котором вы можете клонировать Git репозиторий с все ветки сразу, но это's не то, что вы хотите сделать для каждого проекта.
Клонирование из местного РЕПО не будет работать с Git &амп клон; ГИТ выборки: много филиалов/теги останутся, когда есть еще невыбранные.
Чтобы получить клон с все ветки и теги.
Чтобы получить клон с все ветки и теги, но и с рабочей копии:
ОК, когда вы клонируете репозиторий, у вас все есть филиалы...
Если вы просто сделать ветку в Git, они являются своего рода скрытой...
Так что, если вы'd, как, чтобы увидеть все название ветки, просто добавить
- все
такой флаг:ветке git-все
илиGit в ветке -
Если вы просто выезд в филиал, вы получаете все, что вам нужно.
А как насчет того, если филиал создан кем-то другим после того, как вы клон?
В этом случае, просто делать:
Git для выборки
и снова проверяем все ветки...
Если вы хотите выбрать и оформить заказ на то же время, вы можете сделать:
Git для выборки && ГИТ кассе your_branch_name
Также созданные изображения ниже для вас, чтобы упростить то, что я сказал:
Глядя на один из ответов на вопрос, я заметил, что он'ы можно укоротить:
Но будьте осторожны, если один из удаленных филиалов назван например admin_master он выиграл'т получить загружен!
Благодаря бигфиш за оригинальную идею