zoukankan      html  css  js  c++  java
  • 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 正常
  • 相关阅读:
    面经-新浪
    面经-中兴
    面经-趋势科技
    面经-酷家乐
    面经-大华
    面经-明略科技
    面经-小米
    面经-虹软
    coroutine
    Coroutine 终止协程和异常处理
  • 原文地址:https://www.cnblogs.com/goodloop/p/4760697.html
Copyright © 2011-2022 走看看