Cygwin and TortoiseGit

5

我最近在新安装的Windows XP上安装了Cygwin,以及Git二进制文件和TortoiseGit的副本。我似乎可以通过TortoiseGit执行大多数Git操作,例如查看日志等,但是当我通过TortoiseGit进行提交时,我会收到以下消息...

错误:无法创建临时sha1 文件名:没有那个文件或目录

我可以通过命令行进行提交 - 我只是似乎无法通过图形界面进行提交!


也许你应该只是使用msysgit。 - J-16 SDiZ
6个回答

2
TortoiseGit是针对Git for Windows进行了优化的。
但是,从TortoiseGit 1.8.13.0版本开始,还可以使用Cygwin git与TortoiseGit配合使用。
您需要在TortoiseGit设置中进行如下配置:打开TortoiseGit设置对话框,然后打开“通用”页面。

1)将[CYGWIN-INSTALL-PATH] \ bin文件夹选择为git.exe文件夹。

2)在Windows中配置HOME环境变量,以便Cygwin和TortoiseGit使用相同的主目录和全局git-config。在此处使用普通的Windows表示法(例如,“C:\Users\USERNAME”)。默认情况下,TortoiseGit使用位于c:\Users下的Windows主目录,而Cygwin则使用其自己的主目录,位于[CYGWIN-INSTALL-PATH] \ home下。

3)配置AutoCrLf,这是必要的,因为TortoiseGit和Cygwin Git具有不同的默认值。 Cygwin Git的默认值为true。

4)转到名为“高级设置”的TortoiseGit部分,并将CygwinHack设置为true,以激活cygwin工作区。

5)重新启动计算机。

基于https://tortoisegit.org/docs/tortoisegit/tgit-dug-settings.html

1

我遇到了同样的问题(决定使用在cygwin下安装的git而不是msysgit中的git)。同样的事情:我能够从命令行提交,也能够在Tortoise中看到修改指示器和查看日志,但我无法通过GUI提交。

我所做的是调整我的项目和git可执行文件的组设置。从我的项目根目录的上一级运行以下命令:

chgrp -R None my_project/

然后我做了以下事情:

cd /bin
chgrp None git.exe

这将把git可执行文件的组从原来的(root)更改为None

请注意,您可能不想使用None组。查看/etc/passwd并查看以您的用户名开头的行的第四个字段(字段是冒号分隔的,第一个字段是您的用户名)——第四个字段是您的主要组ID。然后查看/etc/group,并找到具有与第三个字段相同组ID的行。那就是你想在上面的命令中使用的组名(代替None)。

如果这对您有用,请告诉我。


在我的情况下,一切都已经是None,所以这对我来说不是解决方法。不确定为什么你需要执行chgrp,也许你是用不同的用户安装了git?或者可能是因为我使用的是FAT(而不是NTFS),所以我没有看到它。 - studgeek

1

最终,第一个链接中第27条评论中的解决方法对我起了作用! - ufo

0

我尝试了那些解决方案,但它们对我没有起作用。有效的方法是将cygwin目录中所有与GIT相关的可执行文件移动到一个不在我的路径中的子文件夹中,然后从http://git-scm.com/安装最新版本的GIT,将该安装的GIT可执行文件的位置添加到我的路径中,关闭所有Windows资源管理器和bash窗口的实例,启动一个新的Windows资源管理器实例,然后,我就能通过TortoiseGit提交了。目前(2014年3月4日),cygwin版本的GIT是1.7.9,而http://git-scm.com/的最新版本是1.9.0。这似乎有所不同。


0
"

对于我而言,“无法创建临时sha1文件名”问题已得到解决:

"

https://dev59.com/r3RB5IYBdhLWcg3wN1AQ#685422

我只是在我的代码库中运行了git repack(从命令行),然后TortoiseGit就能够立即提交了。

(我仍然无法通过TortoiseGit推送,因为我收到了“fatal: The remote end hung up unexpectedly”错误消息,如https://tortoisegit.org/issue/56所述)


-1

你尝试过重新启动你的电脑吗?我曾经在安装Tortoise时遇到一些问题,但是重新启动解决了这个问题。


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