Git错误&#34;致命:GIT_WORK_TREE(或--work-tree = <directory>)不允许指定GIT_DIR(或--git-dir = <directory>)&#34; </directory> </directory>

时间:2014-08-07 00:35:46

标签: git environment-variables git-config git-init

我将GIT_WORK_TREE设置为.,将GIT_DIR设置为.git。当我运行git init --bare时,我收到以下错误:

  

致命:GIT_WORK_TREE(或--work-tree=<directory>)未指定GIT_DIR(或--git-dir=<directory>

该怎么办?我怀疑它可能与GIT_DIR被设置为.有关(如果它指向当前工作目录,它可能会认为GIT_DIR未设置?)。无论如何,这样做会很好,所以每次我想初始化一个Git仓库时,我都不必取消设置GIT_WORK_TREE。

1 个答案:

答案 0 :(得分:5)

此错误消息来自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_WORK_TREE之前取消设置git init --bare 请参阅“Unset an environmental variable for a single command”:

env -u GIT_WORK_TREE git init --bare
# or
GIT_WORK_TREE=  git init --bare
  

我正在Windows上添加遥控器

git init --bare不是“添加远程”,因此您需要检查哪个命令触发该错误消息。