【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

相关推荐
悠然大月季9 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
chenshiming80210 小时前
在cursor下执行GIT回退版本
git
打点计时器14 小时前
Git快速上手教程
git
我才是一卓14 小时前
linux 安装简易 git 服务端并使用
linux·运维·git
IDIOT___IDIOT16 小时前
关于 git 进行版本管理的时候 gitignore 写入忽略规则而不生效的问题
大数据·git·elasticsearch
不想看见40416 小时前
Git 误删急救手册
大数据·git·elasticsearch
偷懒下载原神16 小时前
【linux操作系统】信号
linux·运维·服务器·开发语言·c++·git·后端
IT二叔16 小时前
Git Flow03-发布流程
git
IT二叔16 小时前
Git Flow08-摘樱桃
git
「QT(C++)开发工程师」18 小时前
Git误操作急救手册大纲
git