• 第一次用git filter-branch 有点爽


    之前从github上fork了一个react.js的项目

    然而原作者有些疏忽,从第一个commit开始就把 node_modules 全都上传了......

    然后就导致 .git 文件夹有 10M 这么大, 上海电信上github的速度你懂得 

    于是今天拿出了git里的核武器 filter-branch 成功改写了commit历史 (于是成了两个完全不同的repo XD

    使用方法 

    1. git filter-branch --force --index-filter "git rm --cached --ignore-unmatch -r 要删除的文件" --prune-empty --tag-name-filter cat -- --all

    这句的意思是从遍历所有的commit,删除那个文件,重写历史commit

    2. 然后强行远程推送

    git push origin --all --force

    3. 解决了

    再git clone的时候发现repo已经没有这么大了 :)

    主要用处是删除之前不小心提交的不该出现在repo里的东西,比如二进制文件还有敏感信息啥的。

    我这个只是个小repo,真正的项目使用需要谨慎啊!

  • 相关阅读:
    双重标准,我该怎么解决
    今天突然点开一个网页
    反省
    (无)
    (无)
    GetModuleHandleW 分析
    关于逆向360相关的一点感想
    OpenGL的编译和使用
    360 补天平台,也没个什么人啊。。。
    openssl编译方法
  • 原文地址:https://www.cnblogs.com/VV0H/p/6867636.html
Copyright © 2020-2023  润新知