git-lfs-clone - Man Page
Efficiently clone a LFS-enabled repository
Synopsis
git lfs clone
[git clone options] <repository> [<directory>]
Description
Clone an LFS enabled Git repository more efficiently by disabling LFS during the git clone, then performing a 'git lfs pull' directly afterwards.
'git lfs clone' also installs all of the repo-level hooks (.git/hooks) that LFS requires to operate. If --separate-git-dir
is given, the hooks will be installed there.
This is faster than a regular 'git clone' because that will download LFS content using the smudge filter, which is executed individually per file in the working copy. This is relatively inefficient compared to the batch mode and parallel downloads performed by 'git lfs pull'.
Options
All options supported by 'git clone'
- -I <paths>, --include=<paths>
See Include and Exclude.
- -X <paths>, --exclude=<paths>
See Include and Exclude.
- --skip-repo
Skip installing repo-level hooks (.git/hooks) that LFS requires. Disabled by default.
Include and Exclude
You can configure Git LFS to only fetch objects to satisfy references in certain paths of the repo, and/or to exclude certain paths of the repo, to reduce the time you spend downloading things you do not use.
In your Git configuration or in a .lfsconfig
file, you may set either or both of lfs.fetchinclude
and lfs.fetchexclude
to comma-separated lists of paths. If lfs.fetchinclude
is defined, Git LFS objects will only be fetched if their path matches one in that list, and if lfs.fetchexclude
is defined, Git LFS objects will only be fetched if their path does not match one in that list. Paths are matched using wildcard matching as per gitignore(5).
Note that using the command-line options -I
and -X
override the respective configuration settings. Setting either option to an empty string clears the value.
See Also
git-clone(1), git-lfs-pull(1), gitignore(5).
Part of the git-lfs(1) suite.