Git操作指南

Git操作指南:

LFS相关

  1. 本仓库使用了LFS插件管理大文件,包括但不限于:静态库.a、动态库.dylib、framework中的库文件、视频文件、音频文件、字体文件、AI相关的模型文件等。详细规则见:.gitattributes。原则上:

    • 非文本格式的二进制文件因为无法进行版本比对,且一般体积较大,都建议放到LFS存储,避免造成主仓库体积膨胀,带来后期管理维护的麻烦。
    • 切图类文件例外,体积一般较小,且可以进行文件比对,还是放在主仓库。除非有特别大体积的大图,比如超过1M,要考虑一下放在哪里,但是如果出现这种情况,优先要去判断是否图片尺寸和格式、压缩方式有问题造成的不合理大文件。
  2. 在clone此仓库之前,需要先安装git-lfs,安装完成后要记得在命令行下执行以下命令,然后就可以正常地将代码clone到本地了。

    git lfs install
    
  3. 使用Sourcetree自带LFS插件。

  4. 大部分常见的需要提交到LFS管理的文件格式已经在.gitattributes中使用通配符做了配置,但是因为framework中的库文件无法通过通配符命中,所以如果新增framework,需要手动提交LFS追踪,例如:

    git lfs track "QQKSong/QQKSong/Librarys/WNS/WnsSDK.framework/WnsSDK"
    

    git lfs track执行结果会修改项目根目录的.gitattributes文件,和手动修改效果一致。

  5. 因为git的工作原理,任何一次提交的内容和行为本身都会被永远记录在主仓库中,虽然有方法进行清理,但是在大规模协作的团队开发过程中,非常困难!所以,每次git addgit commitgit push之前,确认下你的提交是否有非文本格式文件需要用LFS进行管理,否则假如:某人提交了一个10M的库文件,后续更新了10次,有10个人做了类似的事情,主仓库的体积就会增加10MBx10x10=1GB,而当前karaoke_ios_proj主仓库当前在整理之后的体积一共只有320MB左右。

gitignore相关

  1. 同LFS一样,为了避免对主仓库造成污染和不必要的膨胀,在提交代码前,确认你提交的都是有意义的内容,如果只是本地的临时文件,请使用仓库中的.gitignore文件来进行配置。减少这些本地临时文件对git操作的干扰,如果这部分忽略文件并不具备通用性,只有你的本地才会产生或者存放它们,请考虑使用本地的git全局忽略文件来配置它们~/.gitignore_global

你可能感兴趣的:(Git操作指南)