Могу ли я оформить заказ ветки из локального git зеркального клона - PullRequest
0 голосов
/ 20 июня 2020

Я клонировал свое репо, используя флаг --mirror. Могу ли я оформить заказ на его ветку, если да, как? если нет, почему?

git branch показывает мне список всех веток, но git checkout branch-name дает мне сообщение об ошибке: fatal: This operation must be run in a work tree

1 Ответ

1 голос
/ 20 июня 2020

Ссылаясь на официальную документацию :

--mirror

Настройте зеркало исходного репозитория. Это подразумевает --bare. По сравнению с --bare, --mirror не только сопоставляет локальные ветви источника с локальными ветвями цели, но и сопоставляет все ссылки (включая ветки удаленного отслеживания, примечания и т. Д. c.) И устанавливает конфигурацию refspec таким образом, чтобы все эти ссылки перезаписываются git remote update в целевом репозитории.

Клонируя с опцией --mirror, вы неявно используете опцию --bare, которая создает репозиторий без рабочего дерева. Параметр --bare используется в основном на стороне сервера или в определенных c случаях использования.

В вашем случае вы не должны напрямую использовать свое зеркальное репо, так как отсутствие рабочего дерева не подходит для редактирования файлов или для команд git как git checkout. Вам необходимо git clone your-mirrored-repo (без опции --bare / --mirror), чтобы иметь полное рабочее дерево, запускаемое из зеркального репо, в котором вы можете использовать все команды git или редактировать файлы напрямую.

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