Далее описываются команды bash, которые должны быть выполнены для воспроизведения наблюдаемого поведения.Хотя они проходили через msysgit
, я подозреваю, что в среде * nix результат должен быть похожим.
Настройка исходного репозитория
$ mkdir main && cd main
$ git init .
Initialized empty Git repository in d:/temp/main/.git/
$ echo a > a.txt
$ git add . && git commit -m "Initial commit"
[master (root-commit) e1ec355] Initial commit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 a.txt
Клонировать исходный репозиторий, используя локальный файл: /// url
$ cd ..
$ mkdir clonefromfileurl && cd clonefromfileurl
$ git clone file:///d:/temp/main
Cloning into 'main'...
remote: Counting objects: 3, done.
Receiving objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Клонировать исходный репозиторий, используя локальный путь к файлу
$ cd ..
$ mkdir clonefrompath && cd clonefrompath
$ git clone /d:/temp/main
Cloning into 'main'...
done.
Согласно Википедии , файл URL с тройной косой чертой подразумевает локальный ресурс.
Однако при клонировании через локальный URL file:///
база данных объектов перед передачей упаковывается (скопировал?).Это не тот случай, когда местоположение исходного репозитория выражается в виде локального пути.
Почему git ведет себя по-разному, учитывая, что и исходное, и целевое репо размещены на localhost
?