ティム・デイビスのガイドとスティーブのフォローアップをフォローした後、私がしたことは次のとおりです。
サーバーPC
- CopSSH、msysgitをインストールします。
- CopSSHユーザーを作成するときは、パスワード認証をオフにし、公開鍵認証をチェックして、公開鍵 /秘密鍵が機能するようにします。
- PuTTygenを使用して公開鍵/秘密鍵を作成します。両方のキーをユーザーのCopSSH / home / user / .sshディレクトリに配置します。
以下をユーザーのCopSSH / home / user / .bashrcファイルに追加します。
GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${GITPATH}:${GITCOREPATH}:${PATH}
Git Bashを開き、PCの任意の場所にリポジトリを作成します。
$ git --bare init repo.git
Initialized empty Git repository in C:/repopath/repo.git/
クライアントPC
- msysgitをインストールします。
- サーバーで作成した秘密鍵を使用して、ssh:// user @ server:port / repopath / repo.gitからリポジトリを複製します(何らかの理由で、ルートはC:ドライブです)
これにより、正常にクローンとコミットを行うことができましたが、サーバーのベアリポジトリにプッシュできませんでした。私は得続けました:
git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
これにより、クライアントPCの%USERPROFILE%パス(C:\ Users \ UserName)の.gitconfigに次の行を作成または追加するというRuiのトレースと解決策が導き出されました。
[remote "origin"]
receivepack = git receive-pack
なぜこれが必要なのかわかりません...誰かが洞察を提供できれば、これは役に立ちます。
私のgitバージョンは1.7.3.1.msysgit.0です