【问题标题】:Git "unable to determine absolute path of git directory"Git“无法确定git目录的绝对路径”
【发布时间】:2012-07-17 08:28:15
【问题描述】:

我是 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 目录可以正常工作(即使有混合斜杠类型)。

有什么想法可以开始找出问题所在吗?

【问题讨论】:

  • 安装 msysgit 并在它的 shell 中尝试,如果你还没有尝试过的话。
  • 好的,这里似乎有些混乱。我安装了两个 git GUI,并且 powershell 在两者之间感到困惑。我卸载了这两个,然后重新安装了其中一个,现在它似乎可以工作了。
  • 在 XenServer 上运行 Windows Server 2012 R2? [您可能需要删除或更新您的访客工具][1]。 [1]:stackoverflow.com/a/21550808/939250

标签: git windows-7


【解决方案1】:

您最有可能使用 PowerShell 和映射的网络驱动器。 PowerShell “有用”地撤消了映射,因此传递给 Git 的目录是 Git 无法理解的 UNC 路径。

【讨论】:

  • 我遇到了同样的问题,而且我确实在使用 Powershell。然而,几个月来我一直在使用 powershell,没有任何问题,今天git push 仍然有效——只有git pull 坏了。什么?
  • 一个简单的破解方法是在 PowerShell 中输入“cmd”,执行“git pull”,然后输入“exit”返回 PowerShell
【解决方案2】:

找到解决方案/解决方法!万岁!

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

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

我的解决方法是:

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

...按这个顺序。

【讨论】:

  • 就我而言,我只需要重启电脑
  • 是的,这里也一样。重启解决了问题。
【解决方案3】:

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

【讨论】:

  • 通过在 PowerShell 中输入以下内容也对我有用:Stop-Process -processname ssh-agent* 后跟 git pull
  • Matt 的重启选项会起作用,但这是最简单的。干杯!
  • 在较新版本的 SourceTree 中似乎被称为“sh.exe”。
  • 比选择的解决方案好得多。谢谢!注意:它也适用于 Git 扩展。
【解决方案4】:

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

【讨论】:

    猜你喜欢
    • 2013-12-28
    • 2017-04-15
    • 2017-04-20
    • 1970-01-01
    • 2017-06-01
    • 2015-06-06
    • 1970-01-01
    • 2016-12-31
    • 1970-01-01
    相关资源
    最近更新 更多