【Git】git lfs自动跟踪大文件

  1. 安装Git LFS:git lfs install
  2. 创建文件 detect_large_files.sh :touch detect_large_files.sh
  3. 编辑文件detect_large_files.sh后保存
bash 复制代码
#!/bin/bash

# 设置阈值,单位字节,100MB = 100 * 1024 * 1024
THRESHOLD=$((100 * 1024 * 1024))

# 遍历项目文件
find . -type f ! -path "./.git/*" | while read file; do
    size=$(stat -c%s "$file")
    if [ $size -gt $THRESHOLD ]; then
        ext="${file##*.}"
        echo "检测到大文件: $file (${size} bytes)"
        pattern="*.$ext"
        
        # 如果这个类型还没被 track,则添加 track 规则
        if ! grep -q "$pattern" .gitattributes 2>/dev/null; then
            echo "添加 Git LFS 跟踪规则: $pattern"
            git lfs track "$pattern"
        fi
    fi
done
 
  1. 赋予脚本执行权限:chmod +x detect_large_files.sh

5.运行脚本:./detect_large_files.sh

  1. 查看已经跟踪的文件:git lfs track

  2. 把改动提交:

git add .gitattributes

git commit

相关推荐
Leo⁵7 小时前
基于 Git 的 Obsidian 笔记同步
笔记·git
Qres82110 小时前
Git基础命令学习笔记
笔记·git·学习
REDcker11 小时前
Git分支与版本管理实践
git
Goodbye15 小时前
Git 开发必备性能
git
Wils0nEdwards16 小时前
Windows本地 git 版本管理
windows·git·elasticsearch
Niliuershangba17 小时前
ChestnutCMS 栗子内容管理系统:从入门到模板开发实战
java·git·开源·gitlab·github·开源软件·gitcode
专注VB编程开发20年17 小时前
安桌15系统文件直接存到其他目录要权限吗?/storage/emulated/0/Downloa
git
解道Jdon19 小时前
从Go转向Rust迁移指南:靠自觉 vs. 靠编译器
ide·windows·git·svn·eclipse·github·visual studio
霸道流氓气质21 小时前
Git 三方合并策略详解
git
Cry丶21 小时前
GitHub 开源项目 PR 提交流程:从 Fork 到 CLA 签署
git·github·开源贡献·pull request·cla