UNPKG

lfs-auto-track

Version:
69 lines (44 loc) 1.97 kB
# [LFS Auto Track](https://npmjs.org/package/lfs-auto-track) · ![Window E2E Tests](https://github.com/suhaotian/lfs-auto-track/actions/workflows/windows.e2e-test.yml/badge.svg)![Linux E2E Tests](https://github.com/suhaotian/lfs-auto-track/actions/workflows/linux.e2e-test.yml/badge.svg) # lfs-auto-track If the files bigger than the size (you can configure, check the usage part), when commit, automatically run `git lfs track` files. ## Usage ### Step 0: prepare make sure use `husky` and `lint-staged` in the project, and run `git lfs install` ### Step 1: install ```sh npm i lfs-auto-track -D ``` ### Step 2: Configure Add `lint-staged` script in `package.json` ```json { "name": "module-name", ... "lint-staged": { "*": [ "lfs-auto-track 'image,video,audio:100;*:1024'" ], } ... } ``` ### Configuration means > `'image,video,audio:100;*:1024'` means if mimetype is image/video/audio files's size bigger than 100 KB, and others files bigger than 1024 KB, these files will add to `.gitattributes` with run command `git lfs track` automatically; > `'*:1024'` means any files size bigger than 1024 KB when commit, these files will add to `.gitattributes` with run command `git lfs track` automatically; > The size units support `B` / `KB` / `MB` / `GB`, default is `KB` > `'jpg,png,gif:1MB'` means files with extension `jpg` or `png` or `gif` size bigger than 1 MB when commit, these files will add to `.gitattributes` with run command `git lfs track` automatically. ### Examples - Check the repo source code (`package.json` / `imgs/`) [This file should be store in LFS](https://github.com/suhaotian/lfs-auto-track/blob/main/imgs/dive.jpg) ### Some questions - How to upload the large file after track? ```sh git lfs push --all origin ``` - How to clone the project without download the large file? ```sh GIT_LFS_SKIP_SMUDGE=1 git clone THE_REPO_URL ``` - How to download the large files? ```sh git lfs pull ```