【问题标题】:Git pull/push/clone doesn't work but SSH and git status/diff do workGit pull/push/clone 不起作用,但 SSH 和 git status/diff 起作用
【发布时间】:2014-07-21 10:50:47
【问题描述】:

几天前,我的 git 在没有刻意改变任何东西的情况下停止工作。

我可以运行git status 和git diff,它们工作正常,我可以通过ssh 进入我们的git 服务器,但是如果我运行任何git pull|push|fetch|clone,它就会挂起并且什么也不做。我的互联网连接很好,我让它运行了大约 1.5 个小时,试图克隆一个非常小的仓库。根本没有输出,它什么也不做。

没有其他人的 git 有问题,所以我很困惑。

任何帮助将不胜感激。

编辑

本地:git 版本 1.8.3.2

git remote -v:显示 2 组 2 个 git repo 位置(用于获取/推送的源和上游)。所有这些形式:origin|upstream git@foo.bar.com:repo_path.git (fetch|push)

本地平台:Linux (Ubuntu 13.10)

ssh -T git@foo.bar.com 需要一段时间然后结果:Welcome, [user]. Use git to push/pull your repositories

运行这个:[user]@computer:~/work/git/repo$ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git fetch 会导致这个:

trace: built-in: git 'fetch'
trace: run_command: 'ssh' 'user@git.foo.com' 'git-upload-pack '\''/home/git/repo/'\'''
[waits seemingly indefinitely]

但如果我运行ssh user@git.foo.com,我会进入服务器。

【问题讨论】:

  • 你在本地使用什么git版本?在服务器上?您在本地使用 Windows 或 Linux 或 Mac 吗? git remote -v 返回什么?那些是 https 或 ssh 网址?
  • 是否ssh -T git@foo.bar.com 有效?

标签: git ssh


【解决方案1】:

我最近买了一个新路由器。看到这个 SO 帖子后,我切换回旧路由器:git clone hangs forever on github

一切都恢复正常了。

“这就是我们不能拥有美好事物的原因”——我对我的新路由器。

我仍然感到困惑的是,我的路由器如何设法破坏某些东西,使我仍然可以在我的工作服务器中进行 SSH 并从 github 克隆,但不能从我们的工作服务器克隆。

【讨论】:

    【解决方案2】:

    如果我没记错的话,git status 和 git diff 是离线工作的,所以这没有意义。您可以通过 SSH 手动连接这一事实很重要 - 这让您确信远程服务器正常并且没有 DNS/等问题。

    我不经常看到 git“只是挂起”,但有一种情况是,当 GIT 试图从后台作业向您询问密码时,这种行为是在 Windows 上使用 Git-UI(而不是通过控制台!),而没有正确设置core.askpass。在 Windows 机器上很常见,当使用 Git-Extensions 和使用 HTTPS 或 SSH 服务器在混合 GUI/Bash 环境中工作时。在控制台上它可以正常工作,但 GUI 可能会在任何连接尝试时挂起。

    如果这听起来与您的设置有些相似,请检查:

    • 您的 SSH 在连接期间是否要求提供任何登录名/密码?
    • 您的 GIT 客户之前是否要求过它们?现在可以了吗?
    • 您是否在 GIT 中使用了任何凭据代理?是否在后台运行等?

    我不知道它在内部是如何工作的,但我可以想象这样一种情况,当您将 Git 配置为使用,即安装时使用选美,而不是配置 core.askpass,一直使用 Git-GUI 并且它有效,现在您的选美比赛因某种原因死亡,Git 尝试询问密码并挂起,因为未设置 core.askpass..

    这纯粹是猜测,但即使完全错过了 - 仍然值得检查以上几点并将它们写下来,这样其他人可能会注意到一些奇怪的事情。

    【讨论】:

      猜你喜欢
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 2016-03-03
      相关资源
      最近更新 更多