我正在编写一个工具来将我的所有存储库从Bitbucket(支持 Git 和 Mercurial)备份到我的本地机器。
它已经适用于 Mercurial,我这样做是这样的:
- 在本地机器上创建一个没有工作副本的新空存储库
(与bare
Git 存储库相同) - 从远程仓库拉取到本地空仓库
现在我正在尝试对 Git 做同样的事情。
我已经发现我不能直接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。