我在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
到工作树中)。