gpt4 book ai didi

git 接收包 : command not found

转载 作者:太空狗 更新时间:2023-10-29 13:17:02 25 4
gpt4 key购买 nike

我正在尝试使用 Git push 到我的远程服务器,但它一直说

git-receive-pack: command not found.

我搜索了一下,有人说是服务端,有人说是客户端。

操作系统:Windows 8 64 位
服务器:Cent OS,CPanel 最新版本

Git 内置于CPanel,我没有安装它。

Screenshot

也许如果我知道是哪个系统出错,我就可以更好地解决问题。另外,我对 SSH 一无所知。我尝试插入由 GIT 生成的 SSH key ,但是当我尝试使用 SSH:// 时,它仍然只要求输入密码。所以有些东西可能没有正确设置。我将 git 用户添加到系统中,就像 git 说明所说的那样,但是我为用户添加了一个密码,只是为了看看它是否允许我在没有 SSH 的情况下登录。

最佳答案

当你运行 git push 时,协议(protocol)的 send-pack 部分在你的本地端运行,它连接到 receive-pack 部分在远程端运行。

假设您运行 git push,您的远程 origin 存储库配置为使用 ssh 并映射到 server.com。 Git 使用 send-pack 通过 ssh 启动到从远程 URL 中提取的服务器的连接 *:

$ ssh server.com "git-receive-pack /path/to/repo.git"

<子>* 当存储库之前被克隆或添加为 git remote add origin ssh://server.com/path/to/repo.git

请注意,引用的命令是通过远程服务器上的 ssh 运行的,git-receive-pack 可能无法在那里找到。您可以按如下方式自行测试:

$ ssh server.com "type -p git-receive-pack" || echo "git-receive-pack not found"

如果 git-receive-pack 命令确实无法在远程上找到 - 例如,因为它不在远程登录 shell 的 PATH 中,你可以通过运行告诉 git push 它应该在哪里寻找它:

$ git push --receive-pack=/server/com/full/path/to/git-receive-pack

并且您可以通过告诉 git 记住通过配置使用显式路径来节省每次推送时的输入:

$ git config remote.origin.receivepack /server/explicit/path/to/git-receive-pack

关于git 接收包 : command not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22271560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com