我在Windows Server 2008环境中工作并尝试使用git。我发现如果我创建一个目录,然后在该新目录中运行git init
命令,它将创建常规目录结构(.git文件夹)。如果我然后从同一目录中键入git status
,我会收到以下错误:
fatal: Not a git repository (or any of the parent directories): .git
如果我在该顶级项目目录下创建一个目录并移入其中,则git status
命令有效。当我转换回顶级项目目录时,git status
命令再次失败并出现相同的错误。如果我明确地将环境变量GIT_DIR
设置为项目目录的完整路径,那么我就可以执行git status
并且可以正常工作。
每次切换到其他项目时,我都不能依赖手动设置GIT_DIR
因为我被迫使用GUI工具。无论如何,我从未需要为git指定GIT_DIR
环境变量才能正常工作。
有人可以帮我理解这里可能会发生什么,所以我可以修复它以便git干净利落吗?
答案 0 :(得分:0)
在MacOS上我可以说你的错误没有发生。
那就是说,有了一个新的git repo,它会处于一种奇怪的状态,直到你第一次提交。在我的测试中,直到第一次提交'git branch'没有显示任何内容,即使在添加空文件之后也是如此。在第一次'git commit'之后,分支就存在了。它可能在Windows上有其他奇怪的事情,一旦你做第一次提交并且主分支存在,所有神奇地解决了。
在MacOS上,你不能做一个'git branch',因为它没有基于它的主分支(或其他任何东西),所以再次需要分支,这是用你的初始'git commit创建的分支“