当 ssh 进入 cygwin 时会发生 git-upload-pack 错误。在 *nix 环境中,sshd
cygwin 不会按预期获取路径。.bash_profile
有什么方法可以解决这个问题并使 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 从另一台 PC 上
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 上有帮助吗......