• git-lfs插件


    Git本地会保存文件所有版本,对于大文件很容易导致仓库体积迅速膨胀

    为了解决这个问题,Github在2015.4宣布推出Git LFS(Large File Storage),详见:Announcing Git Large File Storage (LFS)

    其方法是在Git仓库中内嵌一个类似svn工作原理的仓库,被标记放在LFS的文件在Git仓库中仅存放一个指针

    执行检出、更新、撤销、切换分支等操作时,根据指针的变化从远程LFS仓库下载对应文件到本地LFS Cache(在.gitlfsobjects目录中)

    与git一样,git-lfs也是开放源代码的,其源码托管在github的git-lfs站点上

    git1.8.5及之后版本才支持git lfs,git2.12及之后版本集成了git-lfs(在git安装目录的mingw64ingit-lfs.exe

    也可以从git-lfs的官网下载最新的版本进行安装。安装完成后会在git lfs安装目录中释放git-lfs.exe,并添加一个名为GIT_LFS_PATH的环境变量指向该目录

    但是,若git自带了git-lfs.exe,git并不会使用新安装的git-lfs.exe(通过执行git lfs version显示当前使用的git-lfs版本)

    可以将新安装的git-lfs.exe拷贝覆盖git的安装目录的mingw64ingit-lfs.exe来使用新安装的git-lfs版本

    执行git lfs install,在全局配置文件.gitconfig加入filter "lfs"信息   // 所在目录:c:/users/<用户名>/.gitconfig

    [filter "lfs"]
        clean = git-lfs clean -- %f
        smudge = git-lfs smudge -- %f
        process = git-lfs filter-process
        required = true

    若在某个git版本库所在目录,执行git lfs install,除了上述功能外,还会为当前git版本库添加hook脚本(也可以单独执行git lfs update来添加hook脚本),使得在执行git标准命令时自动执行git lfs命令

    执行git lfs uninstall,对于上面两种情况,会严格执行git lfs install的逆操作来进行清理

    常用命令

    git lfs help // 查看git lfs的帮助

    git lfs version  // 查看git lfs的版本号

    git lfs track // 查看git lfs的文件追踪信息

    git lfs track '*.dll' // dll文件用lfs来管理,会在根目录的.gitattributes文件中添加:*.dll filter=lfs diff=lfs merge=lfs -text

    git lfs track "*.a" "*.dylib" "*.so" "*.lib" "*.dll"  // a、dylib、so、lib、dll文件用lfs来管理,会在根目录的.gitattributes文件中添加

    *.dylib filter=lfs diff=lfs merge=lfs -text
    *.so filter=lfs diff=lfs merge=lfs -text
    *.lib filter=lfs diff=lfs merge=lfs -text
    *.dll filter=lfs diff=lfs merge=lfs -text
    *.a filter=lfs diff=lfs merge=lfs -text

    git lfs track 'Guid.upk' // Guid.upk文件用lfs来管理,会在根目录的.gitattributes文件中添加:Guid.upk filter=lfs diff=lfs merge=lfs -text

    git lfs track 'maps/*' // 根目录下maps文件夹中的所有文件用lfs来管理,会在根目录的.gitattributes文件中添加:maps/* filter=lfs diff=lfs merge=lfs -text

    git lfs untrack 'Guid.upk' // Guid.upk文件不再使用lfs来管理

    git lfs status  // 查看当前git lfs对象的状态

    git lfs ls-files  // 查看当前哪些文件是使用lfs管理的

    git lfs clone https://github.com/kekec/Test.git // 克隆包含Git LFS的远程仓库到本地

    git lfs env  // 查看环境信息

    参考

    Git LFS 服务器实现杂谈

    Git LFS 的反思

  • 相关阅读:
    用迁移学习创造的通用语言模型ULMFiT,达到了文本分类的最佳水平
    论文分享|《Universal Language Model Fine-tuning for Text Classificatio》
    tesnorflow实现N个epoch训练数据读取的办法
    理解TensorFlow的Queue
    tensorflow基本操作介绍
    前端框架 Vue 初探
    LeetCode 292 Nim Game(Nim游戏)
    设计模式有感
    说说翻转的数据结构课
    java 中xml转换为json对象
  • 原文地址:https://www.cnblogs.com/kekec/p/10556189.html
Copyright © 2020-2023  润新知