cygwin에 SSH로 접속할 때 git-upload-pack 오류가 발생합니다. cygwin에서는 *nix 환경에서 예상대로 sshd
경로를 취하지 않습니다 ..bash_profile
이 문제를 해결하고 cygwin bash 및 cygwin ssh에서 msysgit이 제대로 작동하도록 하는 방법은 무엇입니까?
답변1
나는 나처럼 git-upload-pack 누락 오류가 발생하는 사람들을 여기저기 살펴보았고 이것을 생각해 냈습니다.
기본적으로 이것은 Cygwins ssh 경로에 msysgit이 포함되도록 설정합니다.
msysgit을 설치합니다(git bash만 사용하면 cygwin에 git.cmd가 필요하지 않습니다).
SSH용 cygwin 검색을 설치하고 체크/체크하세요.
ssh-host-config -y
나는 CYGWIN var를 기본값이 올바른 것으로 보이는 것으로 설정하는 것을 귀찮게 하지 않았습니다.
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에서 도움이 되기 때문입니다...