需要帮助在Windows上设置git服务器

时间:2014-10-01 11:29:38

标签: windows git

我试图在Windows上设置一个git服务器,但是我有一些问题让它全部工作。

我在本地创建了一个普通的存储库,并远程创建了一个裸存储库。在本地存储库中,我添加了一个文本文件并提交了它,但是当我尝试将其推送到远程存储库时,我总是收到以下消息:

fatal: protocol error: bad line length character: fata

我搜索了SO和其他来源,他们中的大多数人认为这是关于命令回声的问题。我使用freeSSHd作为SSH解决方案(远程存储库托管在Windows服务器上),我尝试使用git bash和windows CMD作为命令shell。

我使用/Q启动CMD以禁用回显,并使用/K将目录更改为存储库所在的目录,因此我认为这不会有问题。

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

1 个答案:

答案 0 :(得分:1)

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

后来我发现来自Bitvise的另一个名为WinSSHD的强大ssh服务器运行良好。它有免费版供个人使用。我建议你切换到它。虽然我也想知道我们遇到的错误是否有解决方法。

使用WinSSHD设置ssh服务器非常简单,您可以添加具有私钥/公钥访问权限的虚拟帐户。

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

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

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

要解决此问题,您需要在系统环境变量{{1}中配置的git bin目录(gup.shgrp.sh中创建两个文件GIT_PATH/binGIT_PATH/libexec/git-core你的git服务器。

PATH的内容:

gup.sh

git-upload-pack.exe $* 的内容:

grp.sh