[英]Git error "fatal: GIT_WORK_TREE (or --work-tree=<directory>) not allowed without specifying GIT_DIR (or --git-dir=<directory>)"
我将GIT_WORK_TREE
设置为.
和GIT_DIR
设置为.git
。 当我运行git init --bare
,出现以下错误:
致命:在不指定
GIT_DIR
(或--git-dir=<directory>
)的情况下不允许GIT_WORK_TREE
(或--work-tree=<directory>
--git-dir=<directory>
)
那是怎么回事? 我怀疑它可能与GIT_DIR
设置为.
(如果它指向当前工作目录,它可能认为GIT_DIR
设置?)。 无论如何,让它正确运行会很棒,这样我每次想初始化 Git 存储库时都不必取消设置 GIT_WORK_TREE。
此错误消息来自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 上,在执行git init --bare
之前取消设置GIT_WORK_TREE
。
请参阅“为单个命令取消设置环境变量”:
env -u GIT_WORK_TREE git init --bare
# or
GIT_WORK_TREE= git init --bare
我正在完美地在 Windows 上添加遥控器
git init --bare
不是“添加远程”,因此您需要检查触发该错误消息的命令。
在 Windows 上,使用cmd /V/ /C
如下所述:
cmd /V /C "set "GIT_WORK_TREE=" && git init --bare"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.