为什么Git拉引发错误:不能没有一个工作树使用

我在Windows 2003 Server(SP2)上安装了Git 1.7.6.msysgit.0版本。 这是我们14个开发人员的主要存储库。

我正试图从这个存储库创build一个备份。 我正在尝试的方式是:我在备份服务器上制作了这个回购的克隆:

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下的configuration文件是:

 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备份的最好方法是什么?

在这一点上更改不会自动解决您的问题,它已经是一个裸仓库(没有工作树的回购)。 使用git fetch而不是git pull ,你应该没问题( git pull基本上只是一个git fetch来引入所有更新,之后是git merge ,将更新git merge到工作树中)。