Как клонировать подмножество веток git - PullRequest
0 голосов
/ 06 июня 2019

Я клонирую из репо с> 1000 ветками. Я хочу клонировать основную ветвь и одну ветвь функций (и ничего больше).

Я знаю, что могу клонировать только ветку функций, запустив

git clone git@url_for_git_repo.com --single-branch --branch feature_branch_name

но тогда у меня нет доступа к главной ветке. Как я могу добавить основную ветку к моему локальному репо сейчас?

Ответы [ 2 ]

3 голосов
/ 06 июня 2019

Используйте git remote для добавления отдельных веток. Например, если вы клонировали одну ветку branch1, но действительно хотите пять имен удаленного отслеживания для origin/master, origin/branch1, origin/branch2, ..., origin/branch4:

git remote set-branches --add origin master branch2 branch3 branch4

сделает свое дело.

(Вы также можете вручную отредактировать файл .git/config или запустить git config --edit, если вам удобно манипулировать файлом конфигурации таким образом.)

Обратите внимание, что set-branches --add очень отличается от простого add; последний добавляет дополнительный удаленный, а не добавляет ответвления к одному конкретному удаленному ответвлению. Кроме того, set-branches без --add означает , чтобы отменить существующие имена удаленного отслеживания и перейти в режим с одной ветвью для указанных ветвей .

(К сожалению, Git использует слово remote для обозначения одной вещи и ветку удаленного отслеживания или то, что я называю имя удаленного отслеживания означать совсем другое. Это очень сбивает с толку.)

1 голос
/ 06 июня 2019

Я думаю, вы могли бы попросить об этом специально с

git fetch origin master
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...