Provided by: git-lfs_3.0.2-1ubuntu0.3_amd64 bug

NAME

       git-lfs-fetch - Download all Git LFS files for a given ref

SYNOPSIS

       git lfs fetch [options] [remote [ref...]]

DESCRIPTION

       Download  Git  LFS objects at the given refs from the specified remote. See DEFAULT REMOTE
       and DEFAULT REFS for what happens if you don't specify.

       This does not update the working copy.

OPTIONS

       -I paths --include=paths
              Specify lfs.fetchinclude just for this invocation; see INCLUDE AND EXCLUDE

       -X paths --exclude=paths
              Specify lfs.fetchexclude just for this invocation; see INCLUDE AND EXCLUDE

       --recent
              Download objects referenced by recent branches & commits in addition to those  that
              would otherwise be downloaded. See RECENT CHANGES

       --all  Download  all  objects  that  are  referenced by any commit reachable from the refs
              provided as arguments. If no refs are provided, then all refs are fetched. This  is
              primarily  for  backup  and migration purposes. Cannot be combined with --recent or
              --include/--exclude. Ignores any globally configured include and exclude  paths  to
              ensure that all objects are downloaded.

       --prune -p
              Prune  old  and  unreferenced objects after fetching, equivalent to running git lfs
              prune afterwards. See git-lfs-prune(1) for more details.

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 gitconfig, set lfs.fetchinclude and lfs.fetchexclude to comma-separated lists of  paths
       to  include/exclude  in  the  fetch.  Only paths which are matched by fetchinclude and not
       matched by fetchexclude will have objects fetched for them.

       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.

   Examples:git config lfs.fetchinclude "textures,images/foo*"

           This  will  only  fetch  objects referenced in paths in the textures folder, and files
           called foo* in the images folder

       ○   git config lfs.fetchinclude "*.jpg,*.png,*.tga"

           Only fetch JPG/PNG/TGA files, wherever they are in the repository

       ○   git config lfs.fetchexclude "media/reallybigfiles"

           Don't fetch any LFS objects referenced in the folder media/reallybigfiles,  but  fetch
           everything else

       ○   git config lfs.fetchinclude "media"
           git config lfs.fetchexclude "media/excessive"

           Only  fetch  LFS  objects  in  the  'media'  folder,  but  exclude those in one of its
           subfolders.

DEFAULT REMOTE

       Without arguments, fetch downloads from the default remote. The default remote is the same
       as  for  git  fetch,  i.e.  based  on  the  remote branch you're tracking first, or origin
       otherwise.

DEFAULT REFS

       If no refs are given as arguments, the currently checked out ref is used. In addition,  if
       enabled,  recently  changed  refs  and  commits  are also included. See RECENT CHANGES for
       details.

RECENT CHANGES

       If the --recent option is specified, or if the gitconfig option  lfs.fetchrecentalways  is
       true,  then  after  the current ref (or those in the arguments) is fetched, we also search
       for 'recent' changes to fetch objects for, so that it's more  convenient  to  checkout  or
       diff those commits without incurring further downloads.

       What changes are considered 'recent' is based on a number of gitconfig options:

       ○   lfs.fetchrecentrefsdays  If  non-zero,  includes  branches which have commits within N
           days   of   the   current   date.   Only    local    refs    are    included    unless
           lfs.fetchrecentremoterefs is true. The default is 7 days.

       ○   lfs.fetchrecentremoterefs  If  true,  fetches  remote  refs  (for  the  remote  you're
           fetching) as well as local refs in the recent window. This is useful to fetch  objects
           for remote branches you might want to check out later. The default is true; if you set
           this to false, fetching for those branches will only occur when you either check  them
           out  (losing  the  advantage  of  fetch  --recent),  or create a tracking local branch
           separately then fetch again.

       ○   lfs.fetchrecentcommitsdays In addition to fetching at branches, also  fetches  changes
           made  within N days of the latest commit on the branch. This is useful if you're often
           reviewing recent changes. The default is 0 (no previous changes).

       ○   lfs.fetchrecentalways Always operate as if --recent was provided on the command line.

EXAMPLES

       ○   Fetch the LFS objects for the current ref from default remote

           git lfs fetch

       ○   Fetch the LFS objects for the current ref AND recent changes from default remote

           git lfs fetch --recent

       ○   Fetch the LFS objects for the current ref from a secondary remote 'upstream'

           git lfs fetch upstream

       ○   Fetch all the LFS objects from the default remote that are referenced by any commit in
           the main and develop branches

           git lfs fetch --all origin main develop

       ○   Fetch the LFS objects for a branch from origin

           git lfs fetch origin mybranch

       ○   Fetch the LFS objects for 2 branches and a commit from origin

           git lfs fetch origin main mybranch e445b45c1c9c6282614f201b62778e4c0688b5c8

SEE ALSO

       git-lfs-checkout(1), git-lfs-pull(1), git-lfs-prune(1).

       Part of the git-lfs(1) suite.

                                          November 2024                          GIT-LFS-FETCH(1)