Git LFS(Large File Storage)是 Git 的扩展,专门用于管理大型文件(如图片、视频、设计文件等),避免 Git 仓库体积过度膨胀。以下是 Git LFS的核心用法:

1. 安装 Git LFS

  • Windows/macOS:从 Git LFS 官网 下载安装包
  • Linux:通过包管理器安装

    bash

    # Ubuntu/Debian
    sudo apt-get install git-lfs
    
    # CentOS/RHEL
    sudo yum install git-lfs
    

安装后初始化:

bash

git lfs install

2. 配置跟踪大文件

指定需要用 LFS 管理的文件类型(通过文件后缀或路径):

bash

# 跟踪单个类型(如 .psd 图片)
git lfs track "*.psd"

# 跟踪多个类型
git lfs track "*.zip" "*.tar.gz"

# 跟踪特定目录下的所有文件
git lfs track "designs/*"

# 查看当前跟踪配置
git lfs track

⚠️ 注意:.gitattributes 文件会记录跟踪规则,需要提交到仓库:

bash

git add .gitattributes
git commit -m "Add LFS tracking rules"

3. 常规操作(与 Git 兼容)

配置后,正常使用 Git 命令即可,LFS 会自动处理大文件:

bash

# 添加大文件
git add large_file.psd

# 提交
git commit -m "Add design file"

# 推送到远程
git push origin main

查看 LFS 管理的文件:

bash

git lfs ls-files

4. 拉取LFS 文件

克隆仓库时,LFS 文件会自动拉取:

bash

git clone <仓库地址>

若已有仓库,单独拉取 LFS 文件:

bash

git lfs pull

5. 迁移现有仓库中的大文件

如果仓库中已有未用 LFS 管理的大文件,可迁移:

bash

# 安装迁移工具(需单独安装)
git lfs migrate import --include="*.psd,*.zip" --everything

⚠️ 注意:这会重写提交历史,需谨慎操作(建议先备份)。

6. 清理本地 LFS 缓存

删除本地未被引用的 LFS 文件,释放空间:

bash

# 查看可清理的文件
git lfs prune --dry-run

# 实际清理
git lfs prune

核心原理

  • Git LFS 会用指针文件(包含文件哈希)替代实际大文件存入 Git 仓库
  • 实际大文件存储在 LFS 服务器(需远程仓库支持,如 GitHub、GitLab 等)
  • 拉取代码时,LFS 会自动根据指针下载对应的大文件

使用 Git LFS 可以显著提高大型项目的 Git 操作效率,避免仓库体积过大导致的克隆 / 拉取缓慢问题。大多数主流 Git 平台(GitHub、GitLab、Bitbucket)都默认支持 Git LFS。

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐