我正在使用远程git托管服务(Svnrepository.com)。我使用git 1.7.x作为客户端时能够成功访问git存储库,但是一旦我将客户端升级到git 1.8.x,我就无法再推送:the push hangs 。托管服务的支持声称这是因为他们使用的是不支持1.8版本的旧版git服务器。
根据请求,此处是GIT_TRACE=1
的跟踪。它看起来像在运行git-http-push
时挂起:
$ GIT_TRACE=1 git push -v
trace: built-in: git 'push' '-v'
Pushing to https://secure2.svnrepository.com/redacted/redacted/
trace: run_command: 'git-remote-https' 'origin' 'https://secure2.svnrepository.com/redacted/redacted/'
trace: run_command: 'http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git' 'http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: exec: 'git-http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
trace: run_command: 'git-http-push' '--helper-status' '--verbose' 'https://secure2.svnrepository.com/redacted/redacted/' 'refs/heads/master:refs/heads/master'
它在最后一行输出后挂起。 (如果您愿意,也可以look at a trace我同时设置GIT_TRACE=1
和GIT_CURL_VERBOSE=1
。)
答案 0 :(得分:1)
想要使用更新版本的git运行是可以理解的,但如果您选择的主机不运行当前版本,为什么不切换主机?仅从名称Svnrepository.com,听起来并不像他们专注于Git托管。如果托管服务不是你可以改变的东西,那么在你的路径之外的某个地方安装git1.7和1.8。然后,您可以将1.7版本链接到类似oldgit
的内容,当您需要使用Svnrepostiory.com时,您的命令就像oldgit add
,oldgit commit
,oldgit push
。
答案 1 :(得分:1)
Svnrepository.com页面上写着“标准功能:Git over SSH”,似乎您通过http访问:这可能对只读访问很有用。如果查看文本文件.git / config,您应该看到[remote“origin”]部分,并且'url'值可以设置为host:/ path / on / remote / machine格式,这表示SSH连接为GIT中