我已经在 Windows 2003 Server (SP2) 上安装了 Git 版本 1.7.6.msysgit.0。这是我们 14 位开发人员的主要存储库。
我正在尝试从此存储库创建备份。我尝试的方式是:我在我们的备份服务器上克隆了此存储库:
cd to/my/backup/git/folder.git
git clone z:/GIT/Lib.git .
我现在尝试从主存储库中提取更改,但出现以下错误
git pull
Fatal: ... git-clone cannot be used without a working tree
Z:/GIT/Lib.git 下的配置文件是:
Z:\GIT\Lib.git>more config
[core]
repositoryformatversion = 0
filemode = false
bare = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = //NAS/GIT/Lib
跑步
git status
引发同样的错误。
我以为问题出在:
bare=true
所以我改变了它,但没有改变结果。
我永远不会对备份文件夹进行操作(我现在在 z:/GIT/ 下有 4 个存储库 - 并且都需要以相同的方式备份 - 或者以某种方式)
这文章提到我需要这个工作树,但是如果我设置了它,我也可以拉取其他存储库吗?
也可以用另一种格式来提问:制作 GIT 备份的最佳方法是什么?
答案1
bare
此时更改不会自动修复您的问题,它已经是一个裸存储库(没有工作树的存储库)。使用git fetch
而不是git pull
,您应该会没事(git pull
基本上只是git fetch
拉入所有更新,然后 将git merge
这些更新合并到您的工作树中)。