git lfs: git 中的大文件管理
在 git 中管理大文件
安装 # 有时候需要升级一下 brew
brew update -v
brew install git-lfs
# check
git lfs install
# 老版系统升级之后,可以安装
Warning: git-lfs 3.5.1 is already installed and up-to-date.
To reinstall 3.5.1, run:
brew reinstall git-lfs
与husky冲突 $ git lfs install
Hook already exists: pre-push
#!/usr/bin/env sh
. "${0%/*}/h"
To resolve this, either:
1: run `git lfs update --manual` for instructions on how to merge hooks.
2: run `git lfs update --force` to overwrite your hook.
常用命令 git init #创建本地仓库环境
git lfs install #安装大文件上传应用
git lfs track * #追踪要上传的大文件,*表示路径下的所有文件
git add .gitattributes #添加先上传的属性文件(要先上传属性文件,不然有可能失败)
git commit -m "pre" #添加属性文件上传的说明
git remote add origin https://github.com/Youpeng-Zhang/MOP.git #建立本地和Github仓库的链接
git push origin master #上传属性文件
git add * #添加要上传的大文件,*表示路径下的所有文件
git commit -m "Git LFS commit" #添加大文件上传的说明
git push origin master #上传大文件
# 拉取大文件(默认clone就会自动拉取这些文件)
git lfs fetch
# 拉取所有的文件
git lfs ls-files --all
# 不自动摘取lfs文件(测试有效果)
GIT_LFS_SKIP_SMUDGE=1 git clone SERVER-REPOSITORY
初始化 $ git lfs install
Updated Git hooks.
Git LFS initialized.
添加 track files git lfs track assets
这次的track 实际上是失败的 加入 lfs 失败 修改 .gitmodules 的 track 文件
git lfs track assets/images/*.png
lfs 失败 lfs 成功 测试是否加入 lfs 成功 git-lfs-notes on 🌱 main via 🐠 v20.13.1
$ git lfs ls-files --all
git-s28b7669c01 * assets/images/large-picture.png
ize
git-lfs-notes on 🌱 main via 🐠 v20.13.1
$ git-size
count: 5
size: 20.00 KiB
in-pack: 12
packs: 1
size-pack: 2.59 KiB
prune-packable: 0
garbage: 0
size-garbage: 0 bytes