Итак, мы часто оптимизируем клонов, эффективно клонируя с помощью --single-branch.Тем не менее, мы не можем получить дополнительные ветви позже.Какая разница, с точки зрения сантехники, между git-клоном с --single-branch и без него?Как мы можем получить дополнительные ветви позже?
Стандартный клон:
$ git clone -b branch-name https://repo.url standard
$ cd standard
$ git checkout remote-branch
Branch 'remote-branch' set up to track remote branch 'remote-branch' from 'origin'.
Switched to a new branch 'remote-branch'
Клон с одной ветвью:
$ git clone -b branch-name --single-branch https://repo.url singlebranch
$ cd singlebranch
$ git checkout remote-branch
error: pathspec 'remote-branch' did not match any file(s) known to git
ОБНОВЛЕНИЕ
Согласно ответу @AndrewMarshall, ниже, вам необходимо обновить ссылку на выборку по умолчанию в конфигурации.Даже несмотря на то, что вы можете обойти выборку, чтобы снять правильные коммиты, ваша попытка проверки абсолютно отрицает, что вы ничего не знаете об этой ветке, если вы сначала не исправите свою конфигурацию:
$ git fetch origin +refs/heads/remote-branch:refs/remotes/origin/remote-branch
From https://gerrit.magicleap.com/a/platform/mlmanifest
* [new branch] remote-branch -> origin/remote-branch
$ git checkout remote-branch
error: pathspec 'remote-branch' did not match any file(s) known to git
$ git remote set-branches origin --add remote-branch
$ git checkout remote-branch
Branch 'remote-branch' set up to track remote branch 'remote-branch' from 'origin'.
Switched to a new branch 'remote-branch'
Обратите внимание, что мы получаемэто, затем перенастроить, затем оформить заказ.Извлечение может происходить в любом порядке (хотя вы должны передать параметры, если не в конфигурации), но извлечение является gated конфигурацией.