mirror of
https://github.com/git/git.git
synced 2024-12-12 11:24:02 +08:00
b1889c36d8
Since the git-* commands are not installed in $(bindir), using "git-command <parameters>" in examples in the documentation is not a good idea. On the other hand, it is nice to be able to refer to each command using one hyphenated word. (There is no escaping it, anyway: man page names cannot have spaces in them.) This patch retains the dash in naming an operation, command, program, process, or action. Complete command lines that can be entered at a shell (i.e., without options omitted) are made to use the dashless form. The changes consist only of replacing some spaces with hyphens and vice versa. After a "s/ /-/g", the unpatched and patched versions are identical. Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
67 lines
1.9 KiB
Plaintext
67 lines
1.9 KiB
Plaintext
git-pack-refs(1)
|
|
================
|
|
|
|
NAME
|
|
----
|
|
git-pack-refs - Pack heads and tags for efficient repository access
|
|
|
|
SYNOPSIS
|
|
--------
|
|
'git pack-refs' [--all] [--no-prune]
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
Traditionally, tips of branches and tags (collectively known as
|
|
'refs') were stored one file per ref under `$GIT_DIR/refs`
|
|
directory. While many branch tips tend to be updated often,
|
|
most tags and some branch tips are never updated. When a
|
|
repository has hundreds or thousands of tags, this
|
|
one-file-per-ref format both wastes storage and hurts
|
|
performance.
|
|
|
|
This command is used to solve the storage and performance
|
|
problem by stashing the refs in a single file,
|
|
`$GIT_DIR/packed-refs`. When a ref is missing from the
|
|
traditional `$GIT_DIR/refs` hierarchy, it is looked up in this
|
|
file and used if found.
|
|
|
|
Subsequent updates to branches always creates new file under
|
|
`$GIT_DIR/refs` hierarchy.
|
|
|
|
A recommended practice to deal with a repository with too many
|
|
refs is to pack its refs with `--all --prune` once, and
|
|
occasionally run `git pack-refs \--prune`. Tags are by
|
|
definition stationary and are not expected to change. Branch
|
|
heads will be packed with the initial `pack-refs --all`, but
|
|
only the currently active branch heads will become unpacked,
|
|
and next `pack-refs` (without `--all`) will leave them
|
|
unpacked.
|
|
|
|
|
|
OPTIONS
|
|
-------
|
|
|
|
--all::
|
|
|
|
The command by default packs all tags and refs that are already
|
|
packed, and leaves other refs
|
|
alone. This is because branches are expected to be actively
|
|
developed and packing their tips does not help performance.
|
|
This option causes branch tips to be packed as well. Useful for
|
|
a repository with many branches of historical interests.
|
|
|
|
--no-prune::
|
|
|
|
The command usually removes loose refs under `$GIT_DIR/refs`
|
|
hierarchy after packing them. This option tells it not to.
|
|
|
|
|
|
Author
|
|
------
|
|
Written by Linus Torvalds <torvalds@osdl.org>
|
|
|
|
GIT
|
|
---
|
|
Part of the linkgit:git[1] suite
|