web-dev-qa-db-ja.com

Gitプルがエラーをスローするのはなぜですか:作業ツリーなしでは使用できません

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つのリポジトリがあり、すべて同じ方法でバックアップする必要があります-または何らかの方法で)

これ article は、このワークツリーが必要であると述べていますが、設定した場合、他のリポジトリもプルすることができますか?

質問は別の形式でも尋ねることができます:GITバックアップを作成するための最良の方法は何ですか?

2
Saariko

この時点でbareを変更しても、問題は自動的に修正されません。これはすでにベアリポジトリ(作業ツリーのないリポジトリ)です。使用する git fetch の代わりに git pullそしてあなたは大丈夫なはずです(git pullは基本的に単なるgit fetchすべての更新をプルしてからgit merge更新を作業ツリーにマージします)。

2
rodjek