Skip to content

git-refs

引用的底层访问。

概要

bash
git refs migrate --ref-format=<format> [--no-reflog] [--dry-run]
git refs verify [--strict] [--verbose]
git refs list [--count=<count>] [--shell|--perl|--python|--tcl]
		   [(--sort=<key>)...] [--format=<format>]
		   [--include-root-refs] [--points-at=<object>]
		   [--merged[=<object>]] [--no-merged[=<object>]]
		   [--contains[=<object>]] [--no-contains[=<object>]]
		   [(--exclude=<pattern>)...] [--start-after=<marker>]
		   [ --stdin | (<pattern>...)]
git refs exists <ref>
git refs optimize [--all] [--no-prune] [--auto] [--include <pattern>] [--exclude <pattern>]

描述

此命令提供对引用的底层访问。

命令

  • migrate:在不同格式之间迁移引用存储。
  • verify:验证引用数据库一致性。
  • list:列出仓库中的引用,支持过滤、格式化和排序。此子命令是 git-for-each-ref(1) 的别名,提供相同的功能。
  • exists:检查给定引用是否存在。如果存在返回退出代码 0,如果缺失返回 2,如果查找引用时出现非缺失错误返回 1。
  • optimize:优化引用以提高仓库性能并减少磁盘使用。此子命令是 git-pack-refs(1) 的别名,提供相同的功能。

选项

以下选项特定于 git refs migrate

  • --ref-format=<format>:要将引用存储迁移到的引用格式。可以是 files(用于带有 packed-refs 的松散文件)或 reftable(用于 reftable 格式)。
  • --dry-run:执行迁移,但不修改仓库。迁移的引用将写入单独的目录。
  • --reflog:将 reflog 数据迁移到新后端(默认)。
  • --no-reflog:丢弃 reflog 数据。

以下选项特定于 git refs verify

  • --strict:启用更严格的错误检查。这将导致警告被报告为错误。
  • --verbose:验证引用数据库一致性时,输出详细信息。

以下选项特定于 git refs list

  • <pattern>...:如果给出一个或多个模式参数,则仅显示与至少一个模式匹配的引用。
  • --stdin:从标准输入读取模式列表。
  • --count=<count>:在显示 <count> 个引用后停止。
  • --sort=<key>:按字段名 <key> 排序。前缀 - 按值的降序排序。
  • --format[=<format>]:从引用及其指向的对象插值 %(fieldname) 的字符串。
  • --color[=<when>]:遵守 --format 选项中指定的任何颜色。
  • --shell--perl--python--tcl:将替换 %(fieldname> 占位符的字符串用适合指定宿主语言的字符串字面量引用。
  • --points-at=<object>:仅列出指向给定对象的引用。
  • --merged[=<object>]:仅列出其提示可从指定提交可达的引用。
  • --no-merged[=<object>]:仅列出其提示不可达的引用。
  • --contains[=<object>]:仅列出包含给定对象的引用。
  • --no-contains[=<object>]:仅列出不包含给定对象的引用。
  • --ignore-case:排序和过滤引用时不区分大小写。
  • --omit-empty:在格式化引用扩展为空字符串时不打印换行符。
  • --exclude=<excluded-pattern>:仅显示不匹配任何排除模式参数的引用。
  • --include-root-refs:除常规引用外,还列出根引用(HEAD 和伪引用)。
  • --start-after=<marker>:通过跳过指定标记来允许对输出进行分页。

以下选项特定于 git refs optimize

  • --all:打包所有引用,包括历史分支。
  • --no-prune:打包后不删除松散引用。
  • --auto:根据引用数据库的当前状态按需打包引用。
  • --include <pattern>:基于 glob(7) 模式打包引用。
  • --exclude <pattern>:不打包匹配给定 glob(7) 模式的引用。

已知限制

引用格式迁移在其当前形式中有几个已知限制:

  • 无法迁移具有工作树的仓库。
  • 在迁移进行期间无法阻止对仓库的并发写入。

Git

git 套件的一部分

基于 CC BY-NC-SA 3.0 许可发布