Sparse checkouts provide a way to restrict the working tree to a subset of directories. See the git-sparse-checkout(1) manpage.
Warning: Git introduced the git sparse-checkout
command in version
2.25 and still advertises it as experimental and subject to change.
Magit’s interface should be considered the same. In particular, if
Git introduces a backward incompatible change, Magit’s sparse checkout
functionality may be updated in a way that requires a more recent Git
version.
magit-sparse-checkout
) ¶This transient prefix command binds the following suffix commands and displays them in a temporary buffer until a suffix is invoked.
magit-sparse-checkout-enable
) ¶This command initializes a sparse checkout that includes only the files in the top-level directory.
Note that magit-sparse-checkout-set
and
magit-sparse-checkout-add
automatically initialize a sparse
checkout if necessary. However, you may want to call
magit-sparse-checkout-enable
explicitly to re-initialize a sparse
checkout after calling magit-sparse-checkout-disable
, to pass
additional arguments to git sparse-checkout init
, or to execute
the initialization asynchronously.
magit-sparse-checkout-set
) ¶This command takes a list of directories and configures the sparse checkout to include only files in those subdirectories. Any previously included directories are excluded unless they are in the provided list of directories.
magit-sparse-checkout-add
) ¶This command is like magit-sparse-checkout-set
, but instead adds
the specified list of directories to the set of directories that is
already included in the sparse checkout.
magit-sparse-checkout-reapply
) ¶This command applies the currently configured sparse checkout patterns to the working tree. This is useful to call if excluded files have been checked out after operations such as merging or rebasing.
magit-sparse-checkout-disable
) ¶This command restores the full checkout. To return to the previous
sparse checkout, call magit-sparse-checkout-enable
.
A sparse checkout can also be initiated when cloning a repository by
using the magit-clone-sparse
command in the magit-clone
transient
(see Cloning Repository).
If you want the status buffer to indicate when a sparse checkout is
enabled, add the function magit-sparse-checkout-insert-header
to
magit-status-headers-hook
.