• brew 出现 git 错误的问题分析


    现象

    1. brew update的时候出现 gitcrash
     

    分析

    1. 在brew update 的时候看见有 git gc 的字样,提示有在gc 的动作。到/usr/local/ 目录,直接运行 git gc 出现同样的问题。
    2. 备份/usr/local/.git 目录,发现其中一个文件/usr/local/.git/objects/pack/pack-a9xxxxxxxxxxxxxxxxxxxx.pack 文件copy 失败。应该是文件系统出现了问题。
    3. 重启进入恢复模式,修复文件系统。无效
    4. 用 cat 打开这个文件同样失败。用 sublime 打开这个文件,再重新保存,发现文件长度少了一半。dd 方式 copy 情况与 sublime 类似,但文件内容会比 sublime 稍多一些。
    5. 强制删除掉这个 pack 文件和对应的 idx 文件。出现 git 操作一直提示缺少某几个 object 的情况。
    6. 观察该文件夹git 的 remote repository。可以看到远程的 git 地址
     

    解决方案

    1. 另外的文件夹中clone 一份代码出来,用其中的.git/objects目录覆盖/usr/local/.git/objects目录。
    2. git gc 正常,brew update 正常,brew doctor 正常
  • 相关阅读:
    《图解CSS3》笔记5 媒体与Responsive设计
    理论篇 前端MVC、MVP、MVVM思考1
    AngularJS篇 $resource使用笔记
    《图解CSS3》笔记4 animation动画
    Prim
    邻接矩阵与邻接表
    差分约束
    SPFA
    floyd
    Kosaraju
  • 原文地址:https://www.cnblogs.com/goodloop/p/4760697.html
Copyright © 2020-2023  润新知