git - git 远程更新失败。但是更改遥控器顺序后成功
问题描述
在今天之前,服务器工作正常。但是今天我打电话
git远程更新
错误信息显示
Fetching A
Fetching B
fatal: internal server error
remote: internal server error
fatal: protocol error: bad pack header
error: Could not fetch B
奇怪的是,我先删除A遥控器后才能更新B成功。然后我添加 B 遥控器并再次调用更新。两台服务器更新成功。
我每次都可以报告这种情况。主存储库位于 A
- 初始化 Aserver 存储库
- 同步项目
- 添加B遥控器
- 调用“git远程更新”
我不知道这是怎么发生的,如果有人能告诉我如何解决这个问题,我将不胜感激。
解决方案
该失败强烈表明服务器 B 上的存储库已损坏。
当您不A
首先更新时它起作用的事实表明,更新A
会删除一些remote/A
在本地存储库中保留提交的良好副本的引用。通过避免这种情况,您保留了必须从 B 接收的提交的良好副本,这样当您向 B 询问其提交时,您的 Git 会说:啊,我已经有了这些提交,因此您的 Git 没有向 B 的 Git 询问这些提交。如果 B 上的理论(尚未证明,但可能)损坏仅影响那些提交,那么避免要求这些提交可以避免证明损坏的存在。
如果 B 上的存储库已损坏(您可以通过登录到 B 服务器并git fsck
在有问题的存储库上使用来测试),那么如果可能的话,您应该将其替换为在其他地方找到的良好副本。
推荐阅读
- django - 如何将表单数据转换为 django?
- excel - 如何在excel中按组计算值的数量
- android - 点击RecyclerView中的item,返回选中item的URL
- xml - SWF 文件在上传到站点时未从 XML 加载内容
- python - csv 到特定列表中的字典(重复键时添加值)
- r - R 评估函数参数的方式具有魔力
- ios - 构建应用程序(Swift)后,与 IBOutlet 按钮及其代码的连接很快就会断开连接
- mysql - 如何使用 group by 更新查询
- html - 最小尺寸的媒体查询已覆盖所有
- python - 我不能让 virtualenvwrapper 在需要安装的 Ubuntu 上安装