为什么 Git pull 会抛出错误:没有工作树就无法使用

为什么 Git pull 会抛出错误:没有工作树就无法使用

我已经在 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这些更新合并到您的工作树中)。

相关内容