当我尝试推送到远程存储库时,
git push origin xyz
ssh -T git@github.com
并获得成功:
您已成功通过身份验证,但GitHub没有 提供shell访问。
当我使用verbose选项时,我收到一条消息:
git push -v origin xyz
推送到git@github.com:repo.git
并且在大约10分钟之后用另一条消息超时:
与远程主机关闭的github.com连接。
我没有得到回复的提示。
我尝试了以下但无济于事:
--dry-run
开关push
的结果相同。git clean -d -f -i
后跟git gc --auto
我在macOS High Sierra上并使用SSH身份验证。
答案 0 :(得分:5)
事实证明,由于第三方工具放置在那里(<repository-root>/.git/hooks/pre-push
)的推前提交挂钩,它被卡住了。
要进行调试,我在GIT_TRACE
上运行了命令:
$ GIT_TRACE=1 git push -v origin xyz
11:47:11.950226 git.c:340 trace: built-in: git 'push' '-v' 'origin' ‘xyz’
Pushing to git@github.com:repo.git
11:47:11.951795 run-command.c:626 trace: run_command: 'ssh' 'git@github.com' 'git-receive-pack ‘\’’repo.git'\'''
11:47:13.100323 run-command.c:626 trace: run_command: '.git/hooks/pre-push' 'origin' 'git@repo.git'
删除pre-push
文件解决了问题。