Ошибка Git "фатальная: GIT_WORK_TREE (или --work-tree =<каталог>) не допускается без указания GIT_DIR (или --git-dir =<каталог>)"
Я имею GIT_WORK_TREE
установлен в .
а также GIT_DIR
установлен в .git
, Когда я бегу git init --bare
Я получаю следующую ошибку:
со смертельным исходом:
GIT_WORK_TREE
(или же--work-tree=<directory>
) не допускается без указанияGIT_DIR
(или же--git-dir=<directory>
)
Что с этим? Я подозреваю, что это может иметь какое-то отношение к GIT_DIR
устанавливается на .
(возможно это считает GIT_DIR
unset, если он указывает на текущий рабочий каталог?). В любом случае, было бы замечательно, если бы он вел себя правильно, поэтому мне не нужно сбрасывать GIT_WORK_TREE каждый раз, когда я хочу инициализировать репозиторий Git.
1 ответ
Это сообщение об ошибке приходит от builtin/init-db.c
/*
* GIT_WORK_TREE makes sense only in conjunction with GIT_DIR
* without --bare. Catch the error early.
*/
git_dir = getenv(GIT_DIR_ENVIRONMENT);
work_tree = getenv(GIT_WORK_TREE_ENVIRONMENT);
if ((!git_dir || is_bare_repository_cfg == 1) && work_tree)
die(_("%s (or --work-tree=<directory>) not allowed without "
"specifying %s (or --git-dir=<directory>)"),
Так что на Unbuntu, unset GIT_WORK_TREE
перед тем как сделать git init --bare
,
Смотрите " Отключение переменной среды для одной команды ":
env -u GIT_WORK_TREE git init --bare
# or
GIT_WORK_TREE= git init --bare
Я добавляю пульт на windows отлично
git init --bare
это не "добавление удаленного", поэтому вам нужно проверить, какая команда вызывает это сообщение об ошибке.