Когда вы создаете репозиторий, если символические ссылки включены, Git попытается создать символическую ссылку, которая указывает на несуществующий файл, чтобы проверить, поддерживают ли система и файловая система символические ссылки. Хорошо, если эта операция завершается неудачей, поскольку это просто означает, что система не способна выполнить эту операцию, что ожидается в Windows. Однако, если это не удастся, то Git будет проверять символические ссылки в виде файлов, поскольку другого способа их представления нет.
libgit2 делает то же самое, поскольку он должен быть совместим с Git.
Единственная причина, по которой вы должны быть обеспокоены сбоем этой операции, заключается в том, что вам нужны символические ссылки, что звучит так же, как и вы. Эта проблема не ограничивается Git;Это проблема с вашим сценарием и моделью разрешений и символическими ссылками в Windows.
Git клонируется в существующий пустой каталог, так что вы можете запустить свой сценарий от имени администратора и создать каталог с привилегиями символических ссылок для пользователя. , а затем клонировать как пользователь. Если вы используете Windows 10, вы можете включить режим разработчика в системах;в конце концов, системы Unix работали отлично в течение нескольких десятилетий с символическими ссылками.
Конечно, есть и другие решения, в том числе не использование символических ссылок и просто указание людям искать в нужном каталоге файлы. Вы также можете хранить эти файлы в удаленной системе, в которой вы создали символические ссылки в качестве администратора, и предоставить всем удаленный доступ к файлам, как в виде одного общего репозитория, так и в виде одного для пользователя (хотя совместное использование репозитория обычно является плохой идеей),Использование жестких ссылок не является решением, потому что Git не сохраняет и не учитывает жесткие ссылки, поэтому вы не можете эффективно использовать их вместе.
Наконец, вы можете использовать подсистему Windows для Linux и хранить данные вфайловая система DrvFS (эмулированная Linux), поскольку она допускает символические ссылки для всех пользователей.