我克隆https://github.com/java093/springside4.git 并在eclipse中提交本地更改的文件成功。然后我使用Team-> Push to Upstream它显示错误: 推送期间发生内部异常:https://github.com/java093/springside4.git:不允许使用git-receive-pack
我怎样才能解决这个问题。我在其他PC上成功使用相同的git url(https://github.com/java093/springside4.git)。
答案 0 :(得分:2)
检查您的“其他PC”上的上游仓库是否使用相同的远程地址:
您可以使用:
git@github.com:[repo_owner_username]/[repo_name].git
并使用配置文件illustrated here。底线是:如果您希望使用ssh密钥,则必须使用ssh网址,而不是https网址(使用_netrc
将使用GitHub凭据,即您的GitHub登录名和密码在“Syncing with github”中提到的Windows或Unix上的.netrc
,而不是您的ssh密钥。)
正如OP在下面提到的那样,此实例中的问题类似于bb describes:
使用非交互式shell时解决Git PATH问题
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'
)
git config remote.origin.uploadpack 'libexec/git-core/git-upload-pack'
git config remote.origin.receivepack 'libexec/git-core/git-receive-pack'
上述解决方案效果很好,但假设您已经有一个本地git仓库跟踪服务器上的远程仓库。
克隆回购将失败并出现相同的错误。
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>
答案 1 :(得分:2)
非常感谢。这个问题是因为 git-receive-pack (推送)命令设置不正确。 我通过以下方式解决了这个问题: git config remote.origin.uploadpack / home / bin / git-upload-pack
GIT : "git-upload-pack: command not found" while pushing to remote server
答案 2 :(得分:0)
在大多数情况下,由于缺少身份验证详细信息:
希望它能解决问题。
答案 3 :(得分:0)
检查是否有#34;写&#34;访问此存储库。