2014-12-04 110 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的家中。