乌龟Git - 找不到git

36
我正在使用已安装msysGit-fullinstall-1.6.4-preview20090729.exe的TortoiseGit,但它以非常奇怪的方式工作:
  • 关于窗口中,即使所有操作似乎都完成了,它也会显示找不到git。
  • 设置窗口的常规选项卡中,MSysGit部分的版本为空,即使路径设置正确(....\msysGit\bin)。
  • 设置窗口的Git\Config选项卡中,任何尝试更改并保存设置的操作都会导致一些奇怪的无文字错误,并且关闭窗口的唯一方法是通过“取消”按钮。
  • 在每个操作上,它似乎会在路径的所有文件夹中查找git.exe,这至少很奇怪,因为它确切地知道在哪里找到可执行文件。

如果我使用Git-1.6.4-preview20090730.exe安装msysGit,则前三个问题都不存在,即使在两种情况下路径设置相同(....\msysGit\cmd)。

我该怎么做才能让TortoiseGit从msysGit-fullinstall-1.6.4-preview20090729.exe中识别git安装?


环境:

  • Git-1.6.4-preview20090730.exe
  • msysGit-fullinstall-1.6.4-preview20090729.exe
  • TortoiseGit 1.0.2.0 32位

编辑:

我不想将msysGit\bin放在路径中,只需放msysGit\cmd

如果我直接用 Git-1.6.4-preview20090730.exe 的安装文件替换 msysGit-fullinstall-1.6.4-preview20090729.exe 的文件,那么TortoiseGit似乎能够识别git版本并允许我在设置中编辑Git\Config部分。这至少很奇怪,因为其余的环境都没有被修改。

但是一旦我恢复了 msysGit-fullinstall-1.6.4-preview20090729.exe 的文件,TortoiseGit就无法正常工作了。


啊,抱歉,我没有意识到完整安装版本有不同的二进制文件。我只使用常规版本。 - Ibrahim
你真的需要msysGit-fullinstall吗?如果需要,请使用TortoiseGit提交一个问题。 - Mauricio Scheffer
@Mauricio:msysGit-fullinstall 允许我使用 Git 1.6.4.2。 - alexandrul
抱歉,我不知道。请使用TortoiseGit提交问题。 - Mauricio Scheffer
6个回答

27

在这个问题仍然热门的时候,一些好心人为这三个项目贡献了很多错误修复,所以这就是我做的,以在之前无法使用的所有组合上在Win7x64上获得TortoiseGit:

  1. mSysGit(网络安装程序)安装到C:\ msysgit中,它将下载源代码并编译它,让您进入bash git提示符。 稳定版本:msysGit-netinstall-1.7.2.3-preview20100911.exe13 sep
  2. Git“preview”安装到C:\ Program Files(x86)\ Git中,选择OpenSSH作为ssh链接 稳定版本:Git-1.7.2.3-preview20100911.exe13 sep
  3. tortoisegit 安装到C:\ Program Files \ TortoiseGit中(x64版本),并配置其设置以指定git路径(C:\ msysgit \ bin)和菜单集成。 稳定版本:TortoiseGit-1.5.6.0-64bit.msi 25 sep

这个设置捕捉到了我在WinXP x86上使用旧版本软件包创建的现有git存储库,并且似乎相当稳定和完全可用。


2
谢谢你的回答,现在仍然适用。 - Pauk

9
我一直在使用TortoiseGit时遇到了很多问题。但是,我发现以下方法可以让我更快地放弃:
在你的路径中(控制面板->系统->高级设置->环境设置),添加一个包含git.exe的路径(msysgit\bin或msysgit\git?TortoiseGit的说明并没有告诉我,那我怎么知道呢)。然后打开命令提示符并尝试运行git.exe。它可能会抱怨找不到libcurl-4.dll。所以,你会发现这个dll文件存在于msysgit\mingw\bin中。将此目录添加到您的路径中(或者如果您愿意,复制该dll)。
现在,TortoiseGit的设置最终似乎可以工作了。点击“立即检查”按钮将实际告诉您正在使用的git版本,而不是神秘地变成空白或弹出无用的错误窗口。
当你现在尝试使用TortoiseGit时,你会得到一个什么也不做且无法关闭的空白进度条。恭喜!现在你可以放弃并删除这个垃圾,直到有人足够关心它为人类消费做好准备。(你能看出我对这个软件感到非常失望吗?)

这对我来说非常完美,使用的是TortoiseGit-1.0.2.0-64位和msysGit-fullinstall-1.6.4-preview20090729在Vista 64位SP1上,除了TortoiseGIT实际上在完成后工作了! - Zach Burlingame

2

可能这很明显,但从您的帖子中并不清楚。您的系统路径中是否有msysgit\bin

此外,这并没有完全回答您的问题,但我发现TortoiseGit缺乏精细处理。我更喜欢使用Git Extensions


1
在我看来,情况恰好相反,与TortoiseGit相比,GitExtensions缺乏精细的处理。 - Mauricio Scheffer

2

嗯,自从我发了帖子后,我实际上已经在我的两个系统中成功使用TortoiseGit。将msysgit\mingw\bin目录添加到路径中(以便git.exe可以找到libcurl-4.dll,从而不会导致一切无声地失败)是最后的关键。我能够使用默认的TortoisePlink.exe完成它,而不必设置GIT_SSH或任何类似的东西。我可以说这很容易(回顾起来,足够容易..),但事实上,它花费了我大约两个编码会话的时间,我本来更愿意把它们用于更有成效的工作。


我也刚刚将msysgit\mingw\bin添加到系统路径中,它就可以工作了:http://blog.casualdev.net/2009/10/tortoisegit-cannot-find-libcurl-4dll.html - Alexander Abramov

1

最新版本的TortoiseGit(>= 1.8.16 and >= 2.0)的解答

FAQ所述,TortoiseGit需要一个命令行 git.exe。有几个可供选择的备选项, 然而,建议使用Git for Windows, 它应该可以直接运行。

建议的安装顺序是先安装TortoiseGit。然后TortoiseGit将通过检查Git for Windows安装情况并查找%PATH%或手动配置(TortoiseGit设置)来自动检测已安装的git.exe。


1

看起来来自 msysGit-fullinstall-1.6.4-preview20090729.exe 的 bash 提示符也将 msysGit\mingw\bin 添加到了路径中,因此为了使用 TortoiseGit 和/或 Git Extensions,我已经将所有文件从 msysGit\mingw\bin 复制到了 msysGit\bin 并在两个工具中设置了 git.exe 的位置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接