git
名称
git - 愚蠢的内容跟踪器
概要
git [--version] [--help] [-C <path>] [-c <name>=<value>] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] [--super-prefix=<path>] <command> [<args>]
描述
Git 是一个快速,可扩展的分布式版本控制系统,具有异常丰富的命令集,可提供高级操作和对内部的完全访问。
参见 gittutorial [7] 开始,然后参见 giteveryday [7] 获取有用的最小命令集。 Git 用户手册有更深入的介绍。
掌握了基本概念后,您可以回到此页面了解 Git 提供的命令。您可以使用“git help command”了解有关各个 Git 命令的更多信息。 gitcli [7] 手册页概述了命令行命令语法。
可以在https://git.github.io/htmldocs/git.html
查看最新 Git 文档的格式化和超链接副本。
OPTIONS
--version
打印 git 程序来自的 Git 套件版本。
--help
打印概要和最常用命令的列表。如果给出选项--all
或-a
,则打印所有可用命令。如果命名了 Git 命令,则此选项将显示该命令的手册页。
其他选项可用于控制手册页的显示方式。有关详细信息,请参阅 git-help [1] ,因为git --help ...
内部转换为git help ...
。
-C <path>
如同在 _< path>中启动 git 一样运行 _ 而不是当前的工作目录。当给出多个-C
选项时,相对于前一个-C <path>
解释每个后续的非绝对-C <path>
。
此选项会影响期望路径名称的选项,如--git-dir
和--work-tree
,因为它们对路径名的解释将相对于-C
选项导致的工作目录。例如,以下调用是等效的:
git --git-dir=a.git --work-tree=b -C c status git --git-dir=c/a.git --work-tree=c/b status
-c <name>=<value>
将配置参数传递给命令。给定的值将覆盖配置文件中的值。 < name>预期格式与 git config (由点分隔的子键)列出的格式相同。
注意,允许省略git -c foo.bar ...
中的=
并将foo.bar
设置为布尔值 true(就像配置文件中的[foo]bar
一样)。包括等于但是空值(如git -c foo.bar= ...
)将foo.bar
设置为git config --type=bool
将转换为false
的空字符串。
--exec-path[=<path>]
安装核心 Git 程序的路径。这也可以通过设置 GIT_EXEC_PATH 环境变量来控制。如果没有给出路径, git 将打印当前设置然后退出。
--html-path
打印路径,不带斜杠,安装 Git 的 HTML 文档并退出。
--man-path
打印 manpath(参见man(1)
)获取此版本 Git 的手册页并退出。
--info-path
打印安装记录此版本 Git 的 Info 文件的路径并退出。
-p
--paginate
如果标准输出是终端,则将所有输出管道输入 _ 减去 _(或如果设置为$ PAGER)。这将覆盖pager.<cmd>
配置选项(请参阅下面的“配置机制”部分)。
-P
--no-pager
不要将 Git 输出传输到寻呼机。
--git-dir=<path>
设置存储库的路径。这也可以通过设置GIT_DIR
环境变量来控制。它可以是当前工作目录的绝对路径或相对路径。
--work-tree=<path>
设置工作树的路径。它可以是绝对路径或相对于当前工作目录的路径。这也可以通过设置 GIT_WORK_TREE 环境变量和 core.worktree 配置变量来控制(有关更详细的讨论,请参阅 git-config [1] 中的 core.worktree)。
--namespace=<path>
设置 Git 名称空间。有关详细信息,请参阅 gitnamespaces [7] 。相当于设置GIT_NAMESPACE
环境变量。
--super-prefix=<path>
目前仅供内部使用。设置一个前缀,该前缀提供从存储库上方到其根目录的路径。一个用途是给出调用它的超级项目的子模块上下文。
--bare
将存储库视为裸存储库。如果未设置 GIT_DIR 环境,则将其设置为当前工作目录。
--no-replace-objects
不要使用替换引用来替换 Git 对象。有关详细信息,请参阅 git-replace [1] 。
--literal-pathspecs
按字面意思处理 pathspecs(即没有 globbing,没有 pathspec magic)。这相当于将GIT_LITERAL_PATHSPECS
环境变量设置为1
。
--glob-pathspecs
为所有 pathspec 添加“glob”魔法。这相当于将GIT_GLOB_PATHSPECS
环境变量设置为1
。可以使用 pathspec magic“😦 literal)”在各个 pathspec 上禁用通配符
--noglob-pathspecs
为所有 pathspec 添加“literal”魔法。这相当于将GIT_NOGLOB_PATHSPECS
环境变量设置为1
。可以使用 pathspec magic“😦 glob)”在各个 pathspec 上启用 globbing
--icase-pathspecs
为所有 pathspec 添加“icase”魔法。这相当于将GIT_ICASE_PATHSPECS
环境变量设置为1
。
--no-optional-locks
不要执行需要锁定的可选操作。这相当于将GIT_OPTIONAL_LOCKS
设置为0
。
--list-cmds=group[,group…]
按组列出命令。这是一个内部/实验选项,可能会在将来更改或删除。支持的组包括:builtins,parseopt(使用 parse-options 的内置命令),main(libexec 目录中的所有命令),其他($PATH
中具有 git-前缀的所有其他命令),list-< category> (请参阅 command-list.txt 中的类别),nohelpers(排除帮助程序命令),别名和配置(从配置变量 completion.commands 检索命令列表)
GIT 命令
我们将 Git 分为高级(“瓷器”)命令和低级(“管道”)命令。
高级命令(瓷器)
我们将瓷器命令分成主命令和一些辅助用户实用程序。
主要瓷器命令
git-add[1]
将文件内容添加到索引
git-am[1]
从邮箱中应用一系列修补程序
git-archive[1]
从命名树创建文件存档
git-bisect[1]
使用二进制搜索来查找引入错误的提交
git-branch[1]
列出,创建或删除分支
git-bundle[1]
通过存档移动对象和引用
git-checkout[1]
切换分支或恢复工作树文件
git-cherry-pick[1]
应用某些现有提交引入的更改
git-citool[1]
git-commit 的图形替代方案
git-clean[1]
从工作树中删除未跟踪的文件
git-clone[1]
将存储库克隆到新目录中
git-commit[1]
记录对存储库的更改
git-describe[1]
根据可用的 ref 给对象一个人类可读的名称
git-diff[1]
显示提交,提交和工作树等之间的更改
git-fetch[1]
从另一个存储库下载对象和引用
git-format-patch[1]
准备电子邮件提交补丁
git-gc[1]
清理不必要的文件并优化本地存储库
git-grep[1]
打印与图案匹配的线条
git-gui[1]
Git 的便携式图形界面
git-init[1]
创建一个空的 Git 存储库或重新初始化现有存储库
gitk[1]
Git 存储库浏览器
git-log[1]
显示提交日志
git-merge[1]
一起加入两个或多个开发历史
git-mv[1]
移动或重命名文件,目录或符号链接
git-notes[1]
添加或检查对象注释
git-pull[1]
从另一个存储库或本地分支获取并与其集成
git-push[1]
更新远程引用以及关联的对象
git-range-diff[1]
比较两个提交范围(例如,分支的两个版本)
git-rebase[1]
在另一个基本提示之上重新应用提交
git-reset[1]
将当前 HEAD 重置为指定状态
git-revert[1]
还原一些现有提交
git-rm[1]
从工作树和索引中删除文件
git-shortlog[1]
总结 git log 输出
git-show[1]
显示各种类型的对象
git-stash[1]
将更改存储在脏工作目录中
git-status[1]
显示工作树状态
git-submodule[1]
初始化,更新或检查子模块
git-tag[1]
创建,列出,删除或验证使用 GPG 签名的标记对象
git-worktree[1]
管理多个工作树
辅助命令
机器人:
git-config[1]
获取并设置存储库或全局选项
git-fast-export[1]
Git 数据导出器
git-fast-import[1]
快速 Git 数据导入器的后端
git-filter-branch[1]
重写分支
git-mergetool[1]
运行合并冲突解决工具以解决合并冲突
git-pack-refs[1]
打包头和标签以实现高效的存储库访问
git-prune[1]
从对象数据库中修剪所有无法访问的对象
git-reflog[1]
管理 reflog 信息
git-remote[1]
管理一组跟踪的存储库
git-repack[1]
在存储库中打包解压缩的对象
git-replace[1]
创建,列出,删除引用以替换对象
读写器:
git-annotate[1]
使用提交信息注释文件行
git-blame[1]
显示修订版和作者上次修改文件的每一行
git-count-objects[1]
计算解压缩的对象数量及其磁盘消耗量
git-difftool[1]
使用常见差异工具显示更改
git-fsck[1]
验证数据库中对象的连接性和有效性
git-help[1]
显示有关 Git 的帮助信息
git-instaweb[1]
立即在 gitweb 中浏览您的工作存储库
git-merge-tree[1]
显示三向合并而不触及索引
git-rerere[1]
重用已记录的冲突合并解决方案
git-show-branch[1]
显示分支及其提交
git-verify-commit[1]
检查提交的 GPG 签名
git-verify-tag[1]
检查标签的 GPG 签名
gitweb[1]
Git Web 界面(Web 前端到 Git 存储库)
git-whatchanged[1]
显示每个提交引入的差异日志
与他人互动
这些命令通过电子邮件补丁与外部 SCM 和其他人进行交互。
git-archimport[1]
将 GNU Arch 存储库导入 Git
git-cvsexportcommit[1]
将单个提交导出到 CVS 结帐
git-cvsimport[1]
从另一个喜欢讨厌的 SCM 中抢救你的数据
git-cvsserver[1]
Git 的 CVS 服务器模拟器
git-imap-send[1]
将 stdin 的补丁集合发送到 IMAP 文件夹
git-p4[1]
从 Perforce 存储库导入并提交到 Perforce 存储库
git-quiltimport[1]
将 quilt 补丁集应用于当前分支
git-request-pull[1]
生成待处理更改的摘要
git-send-email[1]
将一组补丁作为电子邮件发送
git-svn[1]
Subversion 存储库和 Git 之间的双向操作
低级命令(管道)
虽然 Git 包含自己的瓷层,但它的低级命令足以支持替代瓷器的开发。这些瓷器的开发者可能首先阅读 git-update-index [1] 和 git-read-tree [1] 。
这些低级命令的接口(输入,输出,选项集和语义)比 Porcelain 级别命令更稳定,因为这些命令主要用于脚本使用。另一方面,Porcelain 命令的界面可能会发生变化,以改善最终用户体验。
以下描述将低级命令划分为操作对象(在存储库,索引和工作树中)的命令,询问和比较对象的命令,以及在存储库之间移动对象和引用的命令。
操纵命令
git-apply[1]
将修补程序应用于文件和/或索引
git-checkout-index[1]
将文件从索引复制到工作树
git-commit-graph[1]
编写并验证 Git 提交图文件
git-commit-tree[1]
创建一个新的提交对象
git-hash-object[1]
计算对象 ID 并可选择从文件创建 blob
git-index-pack[1]
构建现有打包存档的包索引文件
git-merge-file[1]
运行三向文件合并
git-merge-index[1]
为需要合并的文件运行合并
git-multi-pack-index[1]
编写并验证多包索引
git-mktag[1]
创建标记对象
git-mktree[1]
从 ls-tree 格式的文本构建树对象
git-pack-objects[1]
创建对象的打包存档
git-prune-packed[1]
删除包文件中已有的额外对象
git-read-tree[1]
将树信息读入索引
git-symbolic-ref[1]
阅读,修改和删除符号引用
git-unpack-objects[1]
从打包存档中解压缩对象
git-update-index[1]
将工作树中的文件内容注册到索引
git-update-ref[1]
安全地更新存储在 ref 中的对象名称
git-write-tree[1]
从当前索引创建树对象
询问命令
git-cat-file[1]
提供存储库对象的内容或类型和大小信息
git-cherry[1]
查找尚未应用于上游的提交
git-diff-files[1]
比较工作树和索引中的文件
git-diff-index[1]
将树与工作树或索引进行比较
git-diff-tree[1]
比较通过两个树对象找到的 blob 的内容和模式
git-for-each-ref[1]
每个参考的输出信息
git-get-tar-commit-id[1]
从使用 git-archive 创建的存档中提取提交 ID
git-ls-files[1]
显示有关索引和工作树中文件的信息
git-ls-remote[1]
列出远程存储库中的引用
git-ls-tree[1]
列出树对象的内容
git-merge-base[1]
找到合并的尽可能好的共同祖先
git-name-rev[1]
查找给定转速的符号名称
git-pack-redundant[1]
查找冗余包文件
git-rev-list[1]
列出以反向时间顺序提交对象
git-rev-parse[1]
挑选和按摩参数
git-show-index[1]
显示打包归档索引
git-show-ref[1]
列出本地存储库中的引用
git-unpack-file[1]
创建一个包含 blob 内容的临时文件
git-var[1]
显示 Git 逻辑变量
git-verify-pack[1]
验证打包的 Git 存档文件
通常,询问命令不会触及工作树中的文件。
Git 中文参考(一)(2)https://developer.aliyun.com/article/1565871