2012-07-18 251 views
26

我是一个git的新手,我有想获得最新版本的远程项目的问题:Git的“无法确定的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目录正常工作(即使有混合斜线类型)。

任何想法如何开始制定出了什么问题?

+0

好的,看起来这里有一些混乱。我安装了两个git GUI,并且powershell在两者之间感到困惑。我卸载了两个,然后重新安装了其中一个,现在似乎可以工作。 – 2012-10-08 13:33:10

+0

安装msysgit并从它的shell中尝试,如果你还没有尝试过。 – 2012-07-18 11:26:22

+0

在XenServer上运行Windows Server 2012 R2? [您可能需要删除或更新您的访客工具] [1]。 [1]:http:// stackoverflow。com/a/21550808/939250 – 2014-02-04 11:12:14

回答

26

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

我当时(现在还在使用)GitHub for Windows,偶尔会要求我到Windows Powershell来修复存储库,因为有时它不能自动执行,偶尔它会失败并显示上述错误消息。

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

对我来说,解决办法是:含项目

  • 启动GitHub上的Windows
    1. 重启
    2. 装入驱动...的顺序。

    +1

    对我而言,我只需重新启动PC – cinek 2014-07-02 09:21:02

    +1

    就是这样。重新启动解决了这个问题。 – Julian 2014-08-19 08:36:50

    5

    您最有可能使用PowerShell和映射的网络驱动器。 PowerShell“有用地”解除映射,所以传递给Git的目录是Git不理解的UNC路径。

    +1

    我遇到了同样的问题,并且确实使用了Powershell。然而,我一直在从没有问题的PowerShell几个月,并且今天'git push'仍然有效 - 它只是'git pull'被破坏了。跆拳道? – tenpn 2012-09-27 13:25:07

    +4

    一个简单的黑客解决方法是在PowerShell中输入'cmd',执行'git pull',然后输入'exit'返回PowerShell – 2012-09-27 18:33:47

    35

    杀死ssh-agent.exe程序适用于我。
    注:这就是所谓的sh.exe在SourceTree(感谢@cowlinator)的新版本

    +1

    一切都失败后,这只是为我们工作。谢谢:) – 2014-02-26 16:43:54

    +3

    这对我来说也是通过在PowerShell中输入以下内容来实现的:'Stop-Process -processname ssh-agent *'后面跟'git pull' – 2014-07-31 15:59:08

    +0

    非常感谢! – 2015-04-16 06:34:03

    0

    如果您在Windows上使用SourceTree,尝试工具 - >选项 - > Git的 - >使用系统Git的