【发布时间】:2018-01-23 00:07:13
【问题描述】:
我在内部服务器上有一个无法再推送到的远程 git 存储库:
% git push
Broken pipe
直到几周前,它都运行良好(本月我刚刚尝试了第一次推送)。
我可以 ssh 很好:
% ssh sol date
Mon Jan 22 15:23:33 PST 2018
我启用了 GIT_TRACE=2 并看到了这个:
% git push
16:00:52.629043 git.c:344 trace: built-in: git 'push'
16:00:52.643399 run-command.c:626 trace: run_command: 'ssh' 'sol' 'git-receive-pack '\''/vol/git/cmb.git'\'''
16:00:52.991631 run-command.c:626 trace: run_command: 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' '--progress'
Broken pipe
这是否意味着它试图在本地或远程主机上运行“pack-objects”? “pack-objects”是否应该是默认 $PATH 中的可执行文件?没看到:
% which pack-objects
pack-objects: Command not found.
本地系统是Windows 10 + Cygwin + git 2.15.1 远程系统是 RHEL 7 + git 2.15.1。 git install 来自 ius 并使用默认路径,因此 /bin/git 位于默认 $PATH 中。
尽管我认为它只影响 HTTP,但我确实尝试过:
% git config http.postBuffer 52428800
16:00:49.671332 git.c:344 trace: built-in: git 'config' 'http.postBuffer' '52428800'
我还尝试了“git fetch”,但出现错误:
% git fetch
10:08:37.458683 git.c:344 trace: built-in: git 'fetch'
10:08:37.756135 run-command.c:626 trace: run_command: 'ssh' 'sol' 'git-upload-pack '\''/vol/git/cmb.git'\'''
10:08:39.441934 run-command.c:626 trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet'
10:08:39.737251 run-command.c:626 trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet'
error: sol:/vol/git/cmb.git did not send all necessary objects
10:08:40.226984 run-command.c:626 trace: run_command: 'gc' '--auto'
【问题讨论】:
-
git fetch 有用吗?
-
刚试过 git fetch (见修改后的帖子),它失败并出现不同的错误。