Git init 始终在同一文件夹中初始化存储库

Git init always initializing a repository in the same folder

我尝试在 Eclipse 中使用 Git Bash 或 Egit 初始化一个新的 Git 本地存储库。它总是在某个默认目录而不是当前工作目录(或在 Egit 的情况下指定的路径)中创建它。 EGit 在尝试克隆 repo returns 后出现指定文件夹 "does not look like git repo" 的错误 - 因为它未能正确初始化它。无论我做什么,git init 总是在同一个地方生成文件。有什么想法吗?

我设法找到了原因。 Git(和 Egit 也尊重环境变量)正在使用 GIT_DIR 环境变量中指定的路径并完全忽略当前工作目录。我曾经在 windows env vars 中指定了 GIT_DIR,但后来删除了它,它不再在列表中了。不知何故,当我在 Git Bash 中回显它时,它仍然存在。在 windows 变量中再次添加它并再次删除就完成了工作。

在这里我应该注意我发现的两个错误:

  1. Windows 并不总是删除环境变量,并且可能会保留旧值(可能难以重现,因为它并不总是发生)。
  2. EGit 尊重 GIT_DIR 变量,但仍要求提供回购目录。这会产生错误,因为 .git 文件夹与 Egit 正在查找的位置完全不同。