目录搜索
GuidesgitattributesgiteverydaygitglossarygitignoregitmodulesgitrevisionsgittutorialgitworkflowsAdministrationgit archivegit bundlegit cleangit filter-branchgit fsckgit gcgit instawebgit reflogBasic Snapshottinggit addgit commitgit diffgit mvgit resetgit rmgit statusBranching and Merginggit branchgit checkoutgit loggit mergegit mergetoolgit stashgit tagDebugginggit bisectgit blamegit grepEmailgit amgit format-patchgit request-pullgit send-emailExternal Systemsgit fast-importgit svnGetting and Creating Projectsgit clonegit initGitgit annotategit archimportgit bisect-lk2009git check-attrgit check-mailmapgit check-ref-formatgit checkout-indexgit cherrygit citoolgit columngit credentialgit credential-cachegit credential-storegit cvsexportcommitgit cvsimportgit cvsservergit diff-filesgit diff-treegit difftoolgit fast-exportgit fetch-packgit fmt-merge-msggit get-tar-commit-idgit guigit http-backendgit http-fetchgit http-pushgit imap-sendgit index-packgit interpret-trailersgit ls-remotegit ls-treegit mailinfogit mailsplitgit merge-filegit merge-indexgit merge-one-filegit merge-treegit mktaggit mktreegit name-revgit notesgit p4git pack-objectsgit pack-redundantgit pack-refsgit parse-remotegit patch-idgit prunegit prune-packedgit quiltimportgit receive-packgit remote-extgit remote-fdgit remote-testgitgit repackgit replacegit rereregit send-packgit sh-i18ngit sh-setupgit shellgit show-branchgit show-indexgit stripspacegit unpack-filegit unpack-objectsgit upload-archivegit upload-packgit vargit verify-commitgit verify-taggit whatchangedgit worktreeInspection and Comparisongit describegit shortloggit showMiscellaneousapi credentialsapi indexgitcligitcore tutorialgitcredentialsgitcvs migrationgitdiffcoregithooksgitkgitnamespacesgitremote helpersgitrepository layoutgitsubmodulesgittutorial 2gitwebgitweb.confpack formatUser ManualPatchinggit applygit cherry-pickgit rebasegit revertPlumbing Commandsgit cat-filegit check-ignoregit commit-treegit count-objectsgit diff-indexgit for-each-refgit hash-objectgit ls-filesgit merge-basegit read-treegit rev-listgit rev-parsegit show-refgit symbolic-refgit update-indexgit update-refgit verify-packgit write-treeServer Admingit daemongit update-server-infoSetup and Configgitgit configgit helpSharing and Updating Projectsgit fetchgit pullgit pushgit remotegit submodule
文字

名称

git-pack-refs  - 打包标头和标签以便高效的存储库访问

概要

git pack-refs [--all] [--no-prune]

描述

传统上,分支和标签(统称为refs)的提示每个参考文件存储在目录下的(子)$GIT_DIR/refs目录中。尽管许多分支技巧往往会经常更新,但大多数标签和一些分支技巧从未更新过。当一个存储库有数百或数千个标签时,这种每文件一格式的格式既浪费存储空间又损害性能。

该命令用于通过将 ref 存储在单个文件中来解决存储和性能问题,$GIT_DIR/packed-refs。如果传统$GIT_DIR/refs目录层次结构中缺少 ref ,则会在此文件中查找并在找到时使用。

对分支的后续更新总是在$GIT_DIR/refs目录层次结构下创建新文件。

一个推荐的做法是处理一个资料库太多的参考文献,它只--all会将其参考文献打包一次,偶尔也会运行git pack-refs。标签根据定义是固定的,预计不会改变。分行负责人将收集最初的pack-refs --all,但只有当前活跃的分行负责人将被解包,而下一个pack-refs(不含--all)将使他们解包。

选项

--all

该命令默认打包已经打包的所有标签和引用,并且仅保留其他引用。这是因为分支机构预计会积极开发,打包他们的提示无助于性能。此选项也会导致分支提示被打包。用于具有许多历史兴趣分支的存储库。

--no-prune

这个命令通常会$GIT_DIR/refs在打包它们之后删除松散参考。这个选项告诉它不要。

错误

在引入packed-refs机制之前编写的旧文档可能仍然表示“.git / refs / heads / <branch>文件存在”,意思是“分支<分支>存在”。

上一篇:下一篇: