Я пишу инструмент для резервного копирования всех моих репозиториев из Bitbucket (который поддерживает Git и Mercurial) на мой локальный машина.
Он уже работает для Mercurial, где я делаю это так:
- создать новый пустой репозиторий без рабочей копии на локальном компьютере
(аналогично репозиториюbare
Git) - вытащите из удаленного репозитория в локальный пустой репозиторий
Теперь я пытаюсь сделать то же самое с Git.
I уже узнал, что я не могу напрямую pull
в голый репозиторий и что вместо этого я должен использовать fetch
.
Итак, я попробовал:
C:\test>git fetch https://github.com/SamSaffron/dapper-dot-net.git
remote: Counting objects: 1255, done.
remote: Compressing objects: 100% (1178/1178), done.
remote: Total 1255 (delta 593), reused 717 (delta 56)
Receiving objects: 100% (1255/1255), 13.66 MiB | 706 KiB/s, done.
Resolving deltas: 100% (593/593), done.
From https://github.com/SamSaffron/dapper-dot-net
* branch HEAD -> FETCH_HEAD
Очевидно, что Git сделал извлечение чего-то, но после этого локальный репозиторий пуст.
(git log
говорит fatal: bad default revision 'HEAD'
)
Что я делаю неправильно?
Отказ от ответственности:
У меня есть только очень, очень основное знание Git (обычно я использую Mercurial).
И я использую Windows, если это имеет значение.