检查您是否在“其他 PC”上为上游存储库使用相同的远程地址:
您可以使用:
- 一个 https 地址,就像您所做的那样:但是您的 ssh 密钥将不会参与其中
- 一个 ssh 地址:
git@github.com:[repo_owner_username]/[repo_name].git
并使用此处所示的配置文件。
底线是:如果您希望使用 ssh 密钥,则必须使用 ssh url,而不是 https (这将使用 GitHub 凭据,即您的 GitHub 登录名和密码,_netrc
在 Windows 或.netrc
Unix 上使用“与 github 同步”,而不是您的 ssh 密钥)。
正如 OP 在下面提到的,这种情况下的问题类似于bb 描述的问题:
使用非交互式 shell 时 Git PATH 问题的解决方案
> 在 Linux 上
git config remote.origin.uploadpack '/home/<user name>/bin/git-upload-pack'
git config remote.origin.receivepack '/home/<user name>/bin/git-receive-pack'
(或者,在 OP 的情况下考虑服务器上的 git 安装路径:
git config remote.origin.uploadpack '/home/bin/git-upload-pack'
git config remote.origin.receivepack '/home/bin/git-receive-pack'
)
> 在 Windows 上
git config remote.origin.uploadpack 'libexec/git-core/git-upload-pack'
git config remote.origin.receivepack 'libexec/git-core/git-receive-pack'
上述解决方案运行良好,但假设您已经有一个本地 git 存储库,它正在跟踪服务器上的远程存储库。
克隆 repo 将失败并出现同样的错误。
git clone -u /home/<user>/bin/git-upload-pack <user>@<host>:/<path-to-repo>
git clone -u /home/bin/git-upload-pack <user>@<host>:/<path-to-repo>