) not allowed without specifying GIT_DIR (or --git-dir=)"-6ren"> ) not allowed without specifying GIT_DIR (or --git-dir=)"-我有GIT_WORK_TREE设置为 .和 GIT_DIR设置为 .git .当我运行 git init --bare ,我收到以下错误: fatal: GIT_WORK_TREE (or --wor-6ren">
gpt4 book ai didi

Git 错误 "fatal: GIT_WORK_TREE (or --work-tree=) not allowed without specifying GIT_DIR (or --git-dir=)"

转载 作者:太空狗 更新时间:2023-10-29 13:12:15 25 4
gpt4 key购买 nike

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

fatal: GIT_WORK_TREE (or --work-tree=<directory>) not allowed without specifying GIT_DIR (or --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
参见“Unset an environmental variable for a single command”:

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

I'm adding remote on windows perfectly

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


在 Windows 上,使用 cmd /V/ /C as explained here :

cmd /V /C "set "GIT_WORK_TREE=" && git init --bare"

关于Git 错误 "fatal: GIT_WORK_TREE (or --work-tree=<directory>) not allowed without specifying GIT_DIR (or --git-dir=<directory>)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172470/

25 4 0