Как использовать параметр --work-tree с git? Я продолжаю получать сообщение об ошибке

У меня есть обычное репо, в котором есть рабочее дерево и папка .git в том же каталоге, что и рабочее дерево.

Я пытаюсь запустить команду git из-за пределов этого места с помощью команды

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

но я продолжаю получать ошибку fatal: /usr/libexec/git-core/git-pull cannot be used without a working tree..

Что я делаю неправильно?


person trusktr    schedule 16.03.2012    source источник
comment
Какой у вас текущий рабочий каталог? Какую версию Git вы используете?   -  person Richard Hansen    schedule 17.03.2012
comment
Это так: все файлы (рабочее дерево) находятся внутри какой-то папки типа /some/repo и внутри этой папки тоже есть папка .git /some/repo/.git. Обычно я запускал команды git изнутри /some/repo. У меня версия 1.7.2.3.   -  person trusktr    schedule 17.03.2012


Ответы (1)


Это ошибка в более ранних версиях Git. Эта проблема должна исчезнуть после обновления до версии 1.7.7.2 или более поздней.

Из коммита, исправляющего ошибку:

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.

См. также коммит e2eb527.

person Richard Hansen    schedule 17.03.2012