需要帮助在Windows上设置一个Git服务器

问题描述:

我想在Windows上设置一个Git服务器,但我有一些问题得到它所有的工作。需要帮助在Windows上设置一个Git服务器

我已经在本地创建了一个正常的存储库,并且远程创建了一个裸存储库。在本地资源库我添加了一个文本文件,并提交它,但是当我尝试把它推到远程仓库,我总是得到以下信息:

fatal: protocol error: bad line length character: fata 

我搜索SO和其他来源,其中大部分暗示这是一个关于命令回声的问题。我使用freeSSHd作为SSH解决方案(远程存储库托管在Windows服务器上),并且我尝试将git bash和windows CMD用作命令shell。

我开始CMD与/Q禁用回声和/K将目录切换到存储库所在的目录,所以我不认为这会是一个问题。

使用远程桌面,我可以将存储库克隆到它旁边的文件夹,并在本地使用git bash,我可以访问SSH shell并以相同的方式克隆存储库。但使用git clone ssh://<address>:/myRepo.git我总是得到上面的消息(SSH的工作文件夹与存储库所在的位置相同)。有谁知道发生了什么事?如何查看触发错误的命令,以及如何查看完整的错误消息?

我也遇到了同样的错误,使用freeSSHd作为Windows上的git服务器的ssh解决方案。我找不到一整天的解决方案并放弃。 :(

后来我发现Bitvise这个名为WinSSHD的另一个强大的ssh服务器运行良好,它有个人使用的免费版本,我建议你切换到它,尽管我也想知道是否有修复错误我们都遇到了。

要设置SSH服务器WinSSHD是非常简单的,你可以用私有/公共密钥接入添加虚拟账户。

的关键部分是设置为git的服务器的SSH访问。请请按照博客here的步骤操作。

它应该适用于Windows git客户端。对于Mac,您可能会遇到以下错误。

grp.sh: No such file or directory 
fatal: Could not read from remote repository. 

要解决它,你需要在你的git的bin目录下创建两个文件gup.shgrp.shGIT_PATH/binGIT_PATH/libexec/git-core在系统环境变量PATH配置)使用Git的服务器。

gup.sh内容:

git-upload-pack.exe $* 

grp.sh内容:

git-receive-pack.exe $* 
+0

,我会尝试这个明天和后的结果。谢谢。 – 2014-10-01 15:32:07

+0

我安装了WinSSHD,它工作。我必须让WinSSHD用户完全控制存储库目录,否则我会不断地收到存储库无法访问的错误。 – 2014-10-02 08:46:05