推送到遥控器时git push卡住了

时间:2018-02-12 11:35:43

标签: git

当我尝试推送到远程存储库时,

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身份验证。

1 个答案:

答案 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文件解决了问题。