我一直在尝试在我的 PC 上设置一个简单的 SSH 服务器以与 Git 一起使用。我的想法是在我的 PC 上安装一个 git repo,并在外出时推送我在笔记本电脑上所做的任何工作。两台机器都运行 Windows 8。
我尝试了几种 SSH 服务器解决方案,但最终决定使用 Bitvise SSH 服务器。我可以使用公钥身份验证从笔记本电脑正常进行 SSH。
当我尝试使用 Git 时,我得到了一个错误git-upload-pack: command not found
。我四处搜索,最终找到了一个邮政来自堆栈溢出,基本上说 PATH 可能没有为非逻辑用户正确设置。
我实际上执行了命令马特我说,结果发现 c\git\bin 不是 PATH 的一部分,尽管我已将其设置为系统变量。据我所知,在 Windows 中编辑系统环境变量不会影响此 PATH。有什么想法我需要如何正确设置它吗?
我使用的 Bitvise 虚拟用户组的设置如下:
谢谢!
答案1
今天,我也有同样的经历。我试图在 Windows 7 上使用 Bitvise SSH 服务器设置 Git 服务器。设置 SSH 服务器并安装 Git 后,当我尝试从源站拉取时,我收到了,git-upload-pack: command not found
而当我尝试推送到源站时,我收到了git-receive-pack: command not found
。
显然,这是服务器端的问题。服务器无法执行git-upload-pack
。git-receive-pack
您需要执行以下操作:
要使用这些 Git 命令,您应该将它们添加到 PATH 变量中。请按照以下步骤操作:
- 找到你的 Git 安装目录的路径(在我的计算机上是
C:\Installs\Git
) - 在桌面/开始菜单上:右键单击
My Computer
>Properties
- 点击
Advanced System settings
- 打开标签
Advanced
- 点击按钮
Environment variables
- 在
System variables
查找Path
并单击Edit...
- 附加
;C:\Installs\Git\libexec\git-core
到下面的框中。 - 单击“确定”、“确定”、“确定”,然后关闭所有内容。
现在,命令行中可以使用。这就是我修复此问题的方法。希望它对你有用git-upload-pack
。git-receive-pack
答案2
但是当我尝试使用 Git 时,我收到错误 git-upload-pack:未找到命令。我四处搜索,最后找到了一篇来自 stack overflow 的帖子,其中基本上说,对于非逻辑用户,PATH 可能未正确设置。
此 PATH 不是系统环境中的 PATH。它是 user@sshserver 的路径。
您可以使用ls
或dir
取决于您为 ssh 客户端提供的终端来查找 user@sshserver 的 PATH。
并且您需要在服务器端更改该 PATH 上用户的权限。您也可以参考此关联。