2014-12-04 85 views
1

如何在Cygwin环境中运行msysgit(由github分发的git的Windows版本)?如何从Cygwin运行msysgit?

当你尝试在Windows网络共享上使用它时,Cygwin自己的git会中断 - msysgit没有这个问题,但我无法弄清楚如何在Cygwin中使用它。

(Cygwin的Unix的-Y环境远比msysgit提供的最小的一个更好的,所以我想打在Cygwin下这项工作。)

有几件事情我已经试过了不起作用:

  • 复制git.exe到Cygwin的bin目录(抱怨缺少的DLL)
  • 还复制的DLL(抱怨没有找到,告诉它如何为https的... /共享文件夹)
  • 各种招数与路口

我很难过这一点。这甚至有可能吗?

或者 - 有没有办法让Cygwin的git在网络共享上工作?

============================================== =======

ADDED 2014年12月4日:在更多的研究,我发现克隆时公共库,而不是克隆私人的人时(从GitHub)msysgit工作在Cygwin下OK 。

我在Cygwin中添加了msysgit的.../bin目录到$ PATH的末尾(Cygwin自己的git目前没有安装)。克隆一个公共仓库工作正常,但是当我尝试克隆专用一个,我得到:

msysgit在Cygwin:

[email protected] /cygdrive/z 
$ git clone https://github.com/nerdfever/MouseCam 
Cloning into 'MouseCam'... 

[它只是坐在那里,直到我打^ C]

Z:\>git clone https://github.com/nerdfever/MouseCam 
Cloning into 'MouseCam'... 
remote: Counting objects: 35, done. 
remote: Compressing objects: 100% (3/3), done. 
remote: Total 35 (delta 0), reused 0 (delta 0) 
Unpacking objects: 100% (35/35), done. 
Checking connectivity... done. 

Z:\> 

我的GitHub的凭据保存在c:\用户\戴夫\ git的,凭证,其中包含:

012它CMD.EXE工作正常
https://nerdfever:<...long hex string...>@github.com 

我认为我的核心问题是msysgit在Cygwin下没有正确读取这些凭据,即使它在cmd.exe和msysgit自己的bash shell下也能正常工作。

但是为什么,以及如何解决?

ADDED 330pm:

我几乎有这方面的工作。在将.gitconfig和.git-credentials从msysgit位置(c:\ Users \ Dave)复制到Cygwin的〜后,git完成了克隆。

唯一剩下的问题是msysgit缺少正常的详细程度(并且-v没有帮助)。在Cygwin下:

[email protected] /cygdrive/z 
$ git clone https://github.com/nerdfever/MouseCam -v 
Cloning into 'MouseCam'... 
POST git-upload-pack (262 bytes) 

[email protected] /cygdrive/z 

与我在cmd.exe下获得的结果相比(见上)。

回答

0

你所要做的是一个坏主意,但如果你坚持,你可以做这样 这个

set /cygdrive/c/msysgit/bin/git /usr/local/bin 
cp $1 $2 
ldd $1 | 
awk '$0~"/bin" && !seen[$0]++ {print $3}' | 
xargs cp -t $2 

这将

  • 副本git/usr/local/bin
  • 副本git要求到/usr/local/bin
  • /usr/local/bin通过路径的Cygwin的默认顶部,因此,即使 前Cygwin的混帐

Example

+1

谢谢。我试过了,它几乎可行(权限问题......),但mysysgit requirements文件夹包含许多标准的Unix命令,我宁愿不要替换Cygwin的命令......谨慎解释它为什么是坏的想法和我应该做的事情呢?我会使用Cygwin git,但据说它不适用于网络共享。 – 2014-12-04 17:49:35

+0

@ nerdfever.com Cygwin Git的最新版本是什么? – 2014-12-04 21:18:52

+0

“git version 1.9.4.mysysgit.1”。这是我从GitHub获得的。我试过的Cygwin版本(写入网络共享的问题)是2.1.1。 – 2014-12-04 21:57:20

0

应该运行,我几乎有这方面的工作。在将.gitconfig和.git-credentials从msysgit位置(c:\ Users \ Dave)复制到Cygwin的〜后,git完成了克隆。

这对我有效。我将.gitconfig和msysgit的家中的.ssh的内容复制到Cygwin的家中。