2012-03-16 9 views
8

Mam normalne repozytorium, w którym znajduje się działające drzewo i folder .git w tym samym katalogu, co drzewo robocze.Jak korzystać z opcji --work-tree z git? Wciąż dostaję błąd

Próbuję uruchomić polecenie git spoza tej lokalizacji z poleceniem

git --git-dir=/path/to/repo/.git --work-tree=/path/to/repo pull /some/other/repo master 

ale wciąż otrzymuję błąd fatal: /usr/libexec/git-core/git-pull cannot be used without a working tree..

Co robię źle?

+0

Jaki jest Twój aktualny katalog roboczy? Jakiej wersji Git używasz? –

+0

To tak: wszystkie pliki (drzewo robocze) znajdują się w folderze '/ some/repo', a wewnątrz tego folderu znajduje się także folder .git'/some/repo/.git'. Normalnie uruchamiałbym polecenia git z wnętrza '/ some/repo'. Mam wersję '1.7.2.3'. – trusktr

Odpowiedz

9

To jest błąd we wcześniejszych wersjach Git. Ten problem powinien zniknąć po uaktualnieniu do wersji 1.7.7.2 lub nowszej.

Od the commit that fixed the bug:

You can't currently run git-pull or git-rebase from outside 
of the work tree, even with GIT_WORK_TREE set, due to an 
overeager require_work_tree function. Commit e2eb527 
documents this problem and provides the infrastructure for a 
fix, but left it to later commits to audit and update 
individual scripts. 

Zobacz także commit e2eb527.