【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

相关推荐
lpfasd1232 小时前
git-团队协作基础
chrome·git·elasticsearch
John Song5 小时前
git多个账号管理
git·github
CV_J5 小时前
解决Git 冲突后本地提交丢失/未推送问题
git
__Witheart__5 小时前
Git 某个分支恢复到某个特定的 commit 状态
git
XU磊2607 小时前
Git 实现github仓库管理-删除指定目录下的所有文件并保留目录结构
git·github
zhimingwen9 小时前
解决 GitLab Token 轮换后 SourceTree 认证失败问题
git
昵称是6硬币9 小时前
代码管理——VS Code|Git
git·代码管理
Trouville0110 小时前
如何在VScode环境下使用git进行版本控制,并上传到gitee远程仓库
ide·git·vscode
weixin_4233919311 小时前
从开发到合并:AICR 项目 Git 协作提交全流程指南
git
paishishaba13 小时前
Git常用命令大全及提交推送详解
git