在我的 ubuntu 笔记本电脑上,当 git pull 进入 rev-list 命令时会冻结,请参见下面的输出:
GIT_TRACE=1 GIT_CURL_VERBOSE=1 git pull --verbose
trace: exec: 'git-pull' '--verbose'
trace: run_command: 'git-pull' '--verbose'
trace: built-in: git 'rev-parse' '--git-dir'
trace: built-in: git 'rev-parse' '--is-bare-repository'
trace: built-in: git 'rev-parse' '--show-toplevel'
trace: built-in: git 'ls-files' '-u'
trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
trace: built-in: git 'config' '--bool' 'branch.upgrade-to-rails3.rebase'
trace: built-in: git 'config' '--bool' 'pull.rebase'
trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
trace: built-in: git 'fetch' '-v' '--update-head-ok'
trace: run_command: 'ssh' 'my_repo@mydomain.com' 'git-upload-pack '\''/home/mana/git/chc.git'\'''
trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet'
同一网络上的其他计算机(windows 和 mac)可以从同一个 repo(位于私有服务器上)中提取。然后我把我的笔记本电脑带到了另一个网络,并且工作正常!
我尝试过的事情:
- 将 eth0 上的 MTU 设置为 1492(正如我所见,对于某些人来说,默认值 1500 会导致问题)。
- 确认我可以成功 ssh 到服务器。
- 从以前的挂起尝试中清除挂起的 sshd 进程。
- 远程服务器上的 git gc
那么,在一个网络的路由器中,结合我的特定版本的 ubuntu 可能会导致这种情况,我该如何调试它?