Après avoir suivi le guide de Tim Davis et le suivi de Steve, voici ce que j'ai fait :
PC serveur
-
Installez CopSSH, msysgit.
-
Lors de la création de l'utilisateur CopSSH, décochez Authentification par mot de passe et vérifier Authentification par clé publique pour que vos clés publiques/privées fonctionnent.
-
Créez des clés publiques/privées en utilisant PuTTygen. Placez les deux clés dans le répertoire CopSSH/home/user/.ssh de l'utilisateur.
-
Ajoutez les éléments suivants au fichier CopSSH/home/user/.bashrc de l'utilisateur :
GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${GITPATH}:${GITCOREPATH}:${PATH}
-
Ouvrez Git Bash et créez un dépôt n'importe où sur votre PC :
$ git --bare init repo.git
Initialized empty Git repository in C:/repopath/repo.git/
PC client
- Installer msysgit.
- Utilisez la clé privée que vous avez créée sur le serveur pour cloner votre repo à partir de ssh://user@server:port/repopath/repo.git (pour une raison quelconque, la racine est le lecteur C :)
Cela m'a permis de cloner et de commiter avec succès, mais je ne pouvais pas pousser vers le repo nu sur le serveur. Je continuais à obtenir :
git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
Cela m'a conduit à La trace et la solution de Rui qui était de créer ou d'ajouter les lignes suivantes au fichier .gitconfig dans votre Le %USERPROFILE% du PC client chemin ( C:\Users\UserName ).
[remote "origin"]
receivepack = git receive-pack
Je ne suis pas sûr de la raison pour laquelle cela est nécessaire... si quelqu'un peut donner son avis, ce serait utile.
ma version git est 1.7.3.1.msysgit.0