Git-lfs
Jump to navigation
Jump to search
git-lfs git-lfs/2.12.1 (GitHub; darwin amd64; go 1.15.3) git lfs <command> [<args>] Git LFS is a system for managing and versioning large files in association with a Git repository. Instead of storing the large files within the Git repository as blobs, Git LFS stores special "pointer files" in the repository, while storing the actual file contents on a Git LFS server. The contents of the large file are downloaded automatically when needed, for example when a Git branch containing the large file is checked out. Git LFS works by using a "smudge" filter to look up the large file contents based on the pointer file, and a "clean" filter to create a new version of the pointer file when the large file's contents change. It also uses a pre-push hook to upload the large file contents to the Git LFS server whenever a commit containing a new large file version is about to be pushed to the corresponding Git server. Commands -------- Like Git, Git LFS commands are separated into high level ("porcelain") commands and low level ("plumbing") commands. High level commands -------------------- * git lfs env: Display the Git LFS environment. * git lfs checkout: Populate working copy with real content from Git LFS files. * git lfs dedup: De-duplicate Git LFS files. * git lfs ext: Display Git LFS extension details. * git lfs fetch: Download Git LFS files from a remote. * git lfs fsck: Check Git LFS files for consistency. * git lfs install: Install Git LFS configuration. * git lfs lock: Set a file as "locked" on the Git LFS server. * git lfs locks: List currently "locked" files from the Git LFS server. * git lfs logs: Show errors from the Git LFS command. * git lfs ls-files: Show information about Git LFS files in the index and working tree. * git lfs migrate: Migrate history to or from Git LFS * git lfs prune: Delete old Git LFS files from local storage * git lfs pull: Fetch Git LFS changes from the remote & checkout any required working tree files. * git lfs push: Push queued large files to the Git LFS endpoint. * git lfs status: Show the status of Git LFS files in the working tree. * git lfs track: View or add Git LFS paths to Git attributes. * git lfs uninstall: Uninstall Git LFS by removing hooks and smudge/clean filter configuration. * git lfs unlock: Remove "locked" setting for a file on the Git LFS server. * git lfs untrack: Remove Git LFS paths from Git Attributes. * git lfs update: Update Git hooks for the current Git repository. * git lfs version: Report the version number. Low level commands ------------------- * git lfs clean: Git clean filter that converts large files to pointers. * git lfs filter-process: Git process filter that converts between large files and pointers. * git lfs pointer: Build and compare pointers. * git lfs post-checkout: Git post-checkout hook implementation. * git lfs post-commit: Git post-commit hook implementation. * git lfs post-merge: Git post-merge hook implementation. * git lfs pre-push: Git pre-push hook implementation. * git lfs smudge: Git smudge filter that converts pointer in blobs to the actual content. * git lfs standalone-file: Git LFS standalone transfer adapter for file URLs (local paths). Examples -------- To get started with Git LFS, the following commands can be used. 1. Setup Git LFS on your system. You only have to do this once per repository per machine: git lfs install 2. Choose the type of files you want to track, for examples all ISO images, with git lfs track: git lfs track "*.iso" 3. The above stores this information in gitattributes(5) files, so that file need to be added to the repository: git add .gitattributes 3. Commit, push and work with the files normally: git add file.iso git commit -m "Add disk image" git push
See also[edit]
- Git Large File Storage (LFS),
git-lfs
git
: [config | init | status ]
,git add
,git rm
,git commit
,git push, git pull
,.gitconfig
,.gitignore
,git
(clone
,fetch
,pull
),git tag
,git log
,git blame
, Merge Request, LFS,git branch
,git apply
,git rebase
,git diff
,git diff-tree
,git config --global
,remote | submodule | request-pull
,GIT_TRACE, GIT_CURL_VERBOSE
,clean
,main
,git show-ref
,git reset
,git prune
,git ls-remote origin
,git checkout
,git switch
,pathspec
,git credential-osxkeychain
,git version
,pre-commit
,git --help
, GitBook,refs/
Advertising: