繁体   English   中英

Git 错误“致命:GIT_WORK_TREE(或 --work-tree=<directory> ) 不允许不指定 GIT_DIR (或 --git-dir=<directory> )”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM