28

我是 git 新手,在尝试获取远程项目的最新版本时遇到问题:

S:\dev\prj\myprj [master]> git pull
/usr/libexec/git-core/git-sh-setup: line 266: cd: .git: No such file or directory
Unable to determine absolute path of git directory

直到今天它都运行良好,奇怪的是,自从上次运行良好以来,我认为我没有改变任何东西。

这是在 Windows 7 上。我的项目位于加密驱动器 (S:) 上,而 git 位于 C 上:

S:\dev\prj\myprj [master]> git --exec-path    
C:\Users\matt\AppData\Local\GitHub\PortableGit_656cc1ef6d04f06ddf8b2f5bedbac921caed3b62/libexec/git-core

手动执行 cd 到上面的 exec 目录可以正常工作(即使有混合斜杠类型)。

任何想法如何开始解决问题?

4

4 回答 4

36

杀死ssh-agent.exe进程对我有用。
注意:在较新版本的 SourceTree 中它被称为 sh.exe(感谢@cowlinator

于 2014-01-27T07:54:59.430 回答
26

找到解决方案/解决方法!欢呼!

我曾经(现在仍然)使用 GitHub for Windows,偶尔它会要求我去 Windows Powershell 修复存储库,因为有时它无法自动完成,有时它会因上述错误消息而失败。

对我来说失败的原因不仅仅是我的项目位于加密驱动器上,更重要的是,有时我会在安装加密驱动器(我手动安装)之前启动 GitHub for Windows。即使我随后关闭 GitHub for Windows,然后挂载加密驱动器,然后重新启动 GitHub for Windows,它仍然会返回上述错误,所以当我关闭 GitHub for Windows 时,可能并非所有 GitHubby 都被关闭。

我的解决方法是:

  1. 重启
  2. 安装包含项目的驱动器
  3. 启动 GitHub for Windows

...以该顺序。

于 2013-01-23T11:26:23.690 回答
5

You're most likely using PowerShell and a mapped network drive. PowerShell "helpfully" undoes the mapping, so the directory passed to Git is a UNC path which Git doesn't understand.

于 2012-07-18T10:15:58.843 回答
0

如果您在 Windows 上使用 SourceTree,请尝试 Tools-> Options -> Git -> Use system Git

于 2016-04-22T11:04:36.170 回答