1GIT-LFS(1) GIT-LFS(1)
2
3
4
6 git-lfs - Work with large files in Git repositories
7
9 git lfs command [args]
10
12 Git LFS is a system for managing and versioning large files in associa‐
13 tion with a Git repository. Instead of storing the large files within
14 the Git repository as blobs, Git LFS stores special "pointer files" in
15 the repository, while storing the actual file contents on a Git LFS
16 server. The contents of the large file are downloaded automatically
17 when needed, for example when a Git branch containing the large file is
18 checked out.
19
20 Git LFS works by using a "smudge" filter to look up the large file con‐
21 tents based on the pointer file, and a "clean" filter to create a new
22 version of the pointer file when the large file´s contents change. It
23 also uses a pre-push hook to upload the large file contents to the Git
24 LFS server whenever a commit containing a new large file version is
25 about to be pushed to the corresponding Git server.
26
28 Like Git, Git LFS commands are separated into high level ("porcelain")
29 commands and low level ("plumbing") commands.
30
31 High level commands (porcelain)
32 git-lfs-env(1)
33 Display the Git LFS environment.
34
35 git-lfs-checkout(1)
36 Populate working copy with real content from Git LFS files.
37
38 git-lfs-fetch(1)
39 Download Git LFS files from a remote.
40
41 git-lfs-fsck(1)
42 Check Git LFS files for consistency.
43
44 git-lfs-install(1)
45 Install Git LFS configuration.
46
47 git-lfs-lock(1)
48 Set a file as "locked" on the Git LFS server.
49
50 git-lfs-locks(1)
51 List currently "locked" files from the Git LFS server.
52
53 git-lfs-logs(1)
54 Show errors from the Git LFS command.
55
56 git-lfs-ls-files(1)
57 Show information about Git LFS files in the index and working
58 tree.
59
60 git-lfs-migrate(1)
61 Migrate history to or from Git LFS
62
63 git-lfs-prune(1)
64 Delete old Git LFS files from local storage
65
66 git-lfs-pull(1)
67 Fetch Git LFS changes from the remote & checkout any required
68 working tree files.
69
70 git-lfs-push(1)
71 Push queued large files to the Git LFS endpoint.
72
73 git-lfs-status(1)
74 Show the status of Git LFS files in the working tree.
75
76 git-lfs-track(1)
77 View or add Git LFS paths to Git attributes.
78
79 git-lfs-uninstall(1)
80 Uninstall Git LFS by removing hooks and smudge/clean filter con‐
81 figuration.
82
83 git-lfs-unlock(1)
84 Remove "locked" setting for a file on the Git LFS server.
85
86 git-lfs-untrack(1)
87 Remove Git LFS paths from Git Attributes.
88
89 git-lfs-update(1)
90 Update Git hooks for the current Git repository.
91
92 git-lfs-version(1)
93 Report the version number.
94
95 Low level commands (plumbing)
96 git-lfs-clean(1)
97 Git clean filter that converts large files to pointers.
98
99 git-lfs-pointer(1)
100 Build and compare pointers.
101
102 git-lfs-pre-push(1)
103 Git pre-push hook implementation.
104
105 git-lfs-filter-process(1)
106 Git process filter that converts between large files and point‐
107 ers.
108
109 git-lfs-smudge(1)
110 Git smudge filter that converts pointer in blobs to the actual
111 content.
112
114 To get started with Git LFS, the following commands can be used.
115
116 1. Setup Git LFS on your system. You only have to do this once per
117 repository per machine:
118
119
120
121 git lfs install
122
123
124
125
126 2. Choose the type of files you want to track, for examples all ISO
127 images, with git-lfs-track(1):
128
129
130
131 git lfs track "*.iso"
132
133
134
135
136 3. The above stores this information in gitattributes(5) files, so
137 that file need to be added to the repository:
138
139
140
141 git add .gitattributes
142
143
144
145
146 4. Commit, push and work with the files normally:
147
148
149
150 git add file.iso
151 git commit -m "Add disk image"
152 git push
153
154
155
156
157
158
159
160
161
162 April 2019 GIT-LFS(1)