從另一台電腦使用 msysgit

從另一台電腦使用 msysgit

sshing 到 cygwin 時發生 git-upload-pack 錯誤。sshd在 cygwin 中,不會.bash_profile依照 *nix 環境中的預期取得路徑。

有什麼辦法可以解決這個問題並使 msysgit 與 cygwin bash 和 cygwin ssh 一起正常工作?

答案1

我到處尋找像我這樣遇到 git-upload-pack 缺失錯誤的人,並想出了這個。

基本上這只是將 Cygwins ssh 路徑設定為包含 msysgit

  • 安裝 msysgit (只使用 git bash 就足夠了,我們不需要 cygwin 的 git.cmd 東西)

  • 安裝 cygwin 搜尋 ssh 並勾選/檢查它。

    ssh-host-config -y 
    

    我沒有費心將 CYGWIN 變數設定為預設值似乎正確的任何值。

    cygrunsrv.exe -R sshd 
    

刪除進程中所建立的服務

    ssheNv="/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/bin"

    mSysgit="/usr/local/bin:/c/WINDOWS/system32:/c/WINDOWS:/cygdrive/c/Program Files/Git/bin:/cygdrive/c/Program Files/Git/libexec/git-core"

現在將這兩個字串新增至以下路徑:

    cygrunsrv -I sshd -d "CYGWIN sshd" -p /usr/sbin/sshd -a -D -e "PATH=$ssheNv:$mSysgit"

    cygrunsrv.exe -S 

啟動服務(如果需要,可以使用 -E 再次停止)

從另一台電腦使用 msysgit

git clone  ssh://dude@hostIPetc'/Documents and Settings/blabla/myrepo.git'

對於那些在他們的道路上沒有git-upload-pack很好的人來說,這可以解決它。我不必安裝 cygwin git 只是為了滿足路徑!

但問題是有人能弄清楚如何指向 cygwin 路徑“/cygdrive/d/”等嗎?現在只有 / 有效,這意味著 C:\

如果有人認為這太草率了,應該使用 cygwin git 請這麼說。

http://www.grumpydev.com/2011/01/19/switching-from-cygwin-to-msysgit-git-thinks-everything-has-been-modified/ MSysGit「偽造」檔案模式是切換到 cygwin 的一個原因,或者它對 Windows 是否有幫助...

相關內容