首先我要说的是,我不太擅长使用 git 或 Windows。不过,我已经在 Windows 7 上成功使用 msysgit 一段时间了,使用 Git GUI 跟踪了许多不同的存储库。
但是,由于某种原因,当我尝试导航到包含我的存储库的任何目录并git status
从 PowerShell 运行时,出现以下错误:
fatal: Not a git repository (or any of the parent directories): .git
我不太清楚为什么会发生这种情况,因为我可以cd
到这个目录:
C:\Users\wilduck\Model\.git
但是,我确信这与我的 %HOME% 环境变量设置为 有关C:\Users\wilduck\
。我认为这就是问题所在,因为我执行以下命令:
mkdir C:\Users\wilduck\stupidtest
cd C:\Users\wilduck\stupidtest
git init
git 存储库在 中初始化C:\Users\wilduck
,而不是在stupidtest
子目录中。
因此,我的问题是,虽然我可以使用 Git GUI 在几个不同的存储库中工作,但我无法通过 PowerShell 访问这些存储库。我考虑过重新安装 msysgit,因为我不确定我选择了哪个选项“你想如何从命令行运行 git”,但我不知道这是否会影响我获取现有存储库的能力。我也考虑过每次想要在不同的存储库中工作时更改 %HOME% 环境变量,但这既麻烦又会破坏 .gitconfig 设置。
我的基本问题可以很容易地写成如何从 PowerShell 让 git 识别我现有的存储库?不过,我还有一些相关问题需要得到一些解释:
- 为什么这在 Git GUI 上可以正常工作,但在 powershell 上却不行?幕后有什么神奇的事情发生吗?
- 这是 Windows 环境变量工作方式的产物吗?或者 git 如何处理主目录?
- 我是否在任何时候把某件事搞砸了?
答案1
确保$Env:GIT*
是空的,或者被移除。http://git-scm.com/blog/2010/04/11/environment.html解释每个函数的作用。