msysgit を使って別の PC から

msysgit を使って別の PC から

cygwin に ssh すると、git-upload-pack エラーが発生します。cygwinでは、*nix 環境で期待どおりsshdにパスが取得されません。.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"

次に、以下の 2 つの文字列を以下のパスに追加します。

    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 で役立つのでしょうか...

関連情報