Depois de seguir o guia de Tim Davis e o acompanhamento de Steve, eis o que eu fiz:
PC servidor
- Instale o CopSSH, msysgit.
- Ao criar o usuário CopSSH, desmarque a opção Autenticação de senha e marque Autenticação de chave pública para que suas chaves públicas / privadas funcionem.
- Crie chaves públicas / privadas usando o PuTTygen. coloque as duas chaves no diretório CopSSH / home / user / .ssh do usuário.
Adicione o seguinte ao arquivo CopSSH / home / user / .bashrc do usuário:
GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${GITPATH}:${GITCOREPATH}:${PATH}
Abra o Git Bash e crie um repositório em qualquer lugar do seu PC:
$ git --bare init repo.git
Initialized empty Git repository in C:/repopath/repo.git/
PC cliente
- Instale o msysgit.
- Use a chave privada criada no servidor para clonar seu repositório de ssh: // usuário @ servidor: port / repopath / repo.git (por algum motivo, a raiz é a unidade C :)
Isso me permitiu clonar e confirmar com êxito, mas não pude enviar para o repositório simples no servidor. Eu ficava recebendo:
git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
Isso me levou ao rastreamento e à solução de Rui, que foi criar ou adicionar as seguintes linhas ao .gitconfig no caminho % USERPROFILE% do seu PC Cliente (C: \ Users \ UserName).
[remote "origin"]
receivepack = git receive-pack
Não sei por que isso é necessário ... se alguém pudesse fornecer informações, isso seria útil.
minha versão do git é 1.7.3.1.msysgit.0