mirror of
https://github.com/git/git.git
synced 2024-11-09 02:33:11 +01:00
23af91d102
(alias R=$GIT_COMMON_DIR/worktrees/<id>) - linked checkouts are supposed to keep its location in $R/gitdir up to date. The use case is auto fixup after a manual checkout move. - linked checkouts are supposed to update mtime of $R/gitdir. If $R/gitdir's mtime is older than a limit, and it points to nowhere, worktrees/<id> is to be pruned. - If $R/locked exists, worktrees/<id> is not supposed to be pruned. If $R/locked exists and $R/gitdir's mtime is older than a really long limit, warn about old unused repo. - "git checkout --to" is supposed to make a hard link named $R/link pointing to the .git file on supported file systems to help detect the user manually deleting the checkout. If $R/link exists and its link count is greated than 1, the repo is kept. Helped-by: Marc Branchaud <marcnarc@xiplink.com> Helped-by: Eric Sunshine <sunshine@sunshineco.com> Helped-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Marc Branchaud <marcnarc@xiplink.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
89 lines
1.9 KiB
Text
89 lines
1.9 KiB
Text
git-prune(1)
|
|
============
|
|
|
|
NAME
|
|
----
|
|
git-prune - Prune all unreachable objects from the object database
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
'git prune' [-n] [-v] [--expire <expire>] [--] [<head>...]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
NOTE: In most cases, users should run 'git gc', which calls
|
|
'git prune'. See the section "NOTES", below.
|
|
|
|
This runs 'git fsck --unreachable' using all the refs
|
|
available in `refs/`, optionally with additional set of
|
|
objects specified on the command line, and prunes all unpacked
|
|
objects unreachable from any of these head objects from the object database.
|
|
In addition, it
|
|
prunes the unpacked objects that are also found in packs by
|
|
running 'git prune-packed'.
|
|
It also removes entries from .git/shallow that are not reachable by
|
|
any ref.
|
|
|
|
Note that unreachable, packed objects will remain. If this is
|
|
not desired, see linkgit:git-repack[1].
|
|
|
|
OPTIONS
|
|
-------
|
|
|
|
-n::
|
|
--dry-run::
|
|
Do not remove anything; just report what it would
|
|
remove.
|
|
|
|
-v::
|
|
--verbose::
|
|
Report all removed objects.
|
|
|
|
\--::
|
|
Do not interpret any more arguments as options.
|
|
|
|
--expire <time>::
|
|
Only expire loose objects older than <time>.
|
|
|
|
--worktrees::
|
|
Prune dead working tree information in $GIT_DIR/worktrees.
|
|
|
|
<head>...::
|
|
In addition to objects
|
|
reachable from any of our references, keep objects
|
|
reachable from listed <head>s.
|
|
|
|
EXAMPLE
|
|
-------
|
|
|
|
To prune objects not used by your repository or another that
|
|
borrows from your repository via its
|
|
`.git/objects/info/alternates`:
|
|
|
|
------------
|
|
$ git prune $(cd ../another && git rev-parse --all)
|
|
------------
|
|
|
|
Notes
|
|
-----
|
|
|
|
In most cases, users will not need to call 'git prune' directly, but
|
|
should instead call 'git gc', which handles pruning along with
|
|
many other housekeeping tasks.
|
|
|
|
For a description of which objects are considered for pruning, see
|
|
'git fsck''s --unreachable option.
|
|
|
|
SEE ALSO
|
|
--------
|
|
|
|
linkgit:git-fsck[1],
|
|
linkgit:git-gc[1],
|
|
linkgit:git-reflog[1]
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|