Anonymous committed d28f7cb

Document git-pack-refs and link it to git(7).

Signed-off-by: Junio C Hamano <>

  • Participants
  • Parent commits a79c655

Comments (0)

Files changed (2)

File Documentation/git-pack-refs.txt

+git-pack-refs - Pack heads and tags for efficient repository access
+'git-pack-refs' [--all] [--prune]
+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
+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.
+The command by default packs all tags and leaves branch tips
+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.
+After packing the refs, remove loose refs under `$GIT_DIR/refs`
+hierarchy.  This should probably become default.
+Written by Linus Torvalds <>
+Part of the gitlink:git[7] suite

File Documentation/git.txt

 	Move or rename a file, a directory, or a symlink.
+	Pack heads and tags for efficient repository access.
 	Fetch from and merge with a remote repository or a local branch.
 	Displays contents of a pack idx file.
+	List references in a local repository.
 	Creates a tar archive of the files in the named tree object.