mirror of
https://github.com/git/git.git
synced 2026-01-10 10:13:33 +00:00
Merge branch 'ds/sparse-checkout-clean'
"git sparse-checkout" subcommand learned a new "clean" action to prune otherwise unused working-tree files that are outside the areas of interest. * ds/sparse-checkout-clean: sparse-index: improve advice message instructions t: expand tests around sparse merges and clean sparse-index: point users to new 'clean' action sparse-checkout: add --verbose option to 'clean' dir: add generic "walk all files" helper sparse-checkout: match some 'clean' behavior sparse-checkout: add basics of 'clean' command sparse-checkout: remove use of the_repository
This commit is contained in:
@@ -9,7 +9,7 @@ git-sparse-checkout - Reduce your working tree to a subset of tracked files
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git sparse-checkout' (init | list | set | add | reapply | disable | check-rules) [<options>]
|
||||
'git sparse-checkout' (init | list | set | add | reapply | disable | check-rules | clean) [<options>]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@@ -111,6 +111,37 @@ flags, with the same meaning as the flags from the `set` command, in order
|
||||
to change which sparsity mode you are using without needing to also respecify
|
||||
all sparsity paths.
|
||||
|
||||
'clean'::
|
||||
Opportunistically remove files outside of the sparse-checkout
|
||||
definition. This command requires cone mode to use recursive
|
||||
directory matches to determine which files should be removed. A
|
||||
file is considered for removal if it is contained within a tracked
|
||||
directory that is outside of the sparse-checkout definition.
|
||||
+
|
||||
Some special cases, such as merge conflicts or modified files outside of
|
||||
the sparse-checkout definition could lead to keeping files that would
|
||||
otherwise be removed. Resolve conflicts, stage modifications, and use
|
||||
`git sparse-checkout reapply` in conjunction with `git sparse-checkout
|
||||
clean` to resolve these cases.
|
||||
+
|
||||
This command can be used to be sure the sparse index works efficiently,
|
||||
though it does not require enabling the sparse index feature via the
|
||||
`index.sparse=true` configuration.
|
||||
+
|
||||
To prevent accidental deletion of worktree files, the `clean` subcommand
|
||||
will not delete any files without the `-f` or `--force` option, unless
|
||||
the `clean.requireForce` config option is set to `false`.
|
||||
+
|
||||
The `--dry-run` option will list the directories that would be removed
|
||||
without deleting them. Running in this mode can be helpful to predict the
|
||||
behavior of the clean comand or to determine which kinds of files are left
|
||||
in the sparse directories.
|
||||
+
|
||||
The `--verbose` option will list every file within the directories that
|
||||
are considered for removal. This option is helpful to determine if those
|
||||
files are actually important or perhaps to explain why the directory is
|
||||
still present despite the current sparse-checkout.
|
||||
|
||||
'disable'::
|
||||
Disable the `core.sparseCheckout` config setting, and restore the
|
||||
working directory to include all files.
|
||||
|
||||
Reference in New Issue
Block a user