我将我的 git 服务器迁移到了新服务器,现在我尝试将我的数据推送到新服务器。
- 客户端:Windows,TortoiseGit
- 服务器:docker git 服务器
尝试推送时的日志
git.exe push --progress "originNew" master:master
Counting objects: 26735, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14502/14502), done.
Writing objects: 2% (535/26735), 32.00 KiB | 45.00 KiB/s
在对话框中单击“确定”后 TortoiseGitPlink 致命错误:“网络错误:软件导致连接中止”上述文字更改为
git.exe push --progress "originNew" master:master
Counting objects: 26735, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14502/14502), done.
fatal: sha1 file '<stdout>' write error: Broken pipe
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
git did not exit cleanly (exit code 128) (405265 ms @ 02.04.2018 12:16:21)
可能感兴趣:压缩到 99% (14430/14502) 需要约 6 秒,压缩到 100% (最后约 70 个项目) 需要约 6 分钟。
我已经做了什么:
权限: 使用仅包含 2 个文件的测试 repo 执行相同操作即可!
SSH 保持连接: 我更改了客户端上的 ssh_config 以包含
Host *
ServerAliveInterval 25
ServerAliveCountMax 40
这应该每 25 秒发送一个数据包(最多 40 次),所以如果我与 git 服务器的 ssh 连接处于空闲状态,它应该保持活动状态约 16 分钟。
高清: 客户端和服务器上有足够的空间
问题:
- 关于如何将我的数据推送到新服务器还有其他想法吗?
- 除了权限和空闲连接之外,还有其他什么原因可能导致这种情况吗?
- 我如何检查我更改的 ssh_config 文件是否正确?(由 TortoiseGit 使用)。我更改了“C:\Program Files\Git\etc\ssh”(仅找到一个)
- 我可以以某种方式调查是谁关闭了 ssh 连接吗?
- 客户端和服务器上的哪些日志文件可以帮助找到问题?我可以打开任何详细/调试标志吗?
答案1
好的,我修复了这个问题,不幸的是我没有发现问题是什么。但也许它能给有类似问题的人带来启发。
我做了什么:不是从客户端推送到新服务器:
- 我在旧服务器上生成了密钥并从那里推送
- 我将仓库从新服务器克隆到客户端上的新临时仓库
- 我将更改从旧客户端仓库推送到临时客户端仓库
(有些更改我无法再推送到旧服务器。不幸的是,我不记得是否尝试过从旧客户端仓库推送到新服务器) - 然后我终于把这些变化从临时仓库推送到了新的服务器仓库
现在一切正常。我终于可以从(新旧)客户端存储库拉取和推送到新服务器,而且速度非常快。与此同时,我删除了那个新的客户端存储库。
之前需要很长时间的压缩部分现在变得非常快。也许像重新打包这样的操作会有所帮助?!
祝你好运