git命令大全
git的描述
Git是一个快速,可扩展的分布式修订版本控制系统,具有异常丰富的命令集,该命令集提供高级操作和对内部组件的完全访问权限。
git的选项
--version
- 打印git程序来自的Git套件版本。
--help
- 打印概要和最常用命令的列表。如果给出选项
--all或-a,则将打印所有可用命令。如果命名为Git命令,则此选项将调出该命令的手册页。 - 其他选项可用于控制手册页的显示方式。有关更多信息,请参见[git-help1],因为
git --help ...它在内部转换为git help ...。
-C <path>
-
就像在<path>中而不是当前工作目录中启动git一样运行。当
-C给出多个选项时,每个后续非绝对值-C都相对于前一个进行解释-C。如果<path>存在但为空,例如-C "",则当前工作目录保持不变。 -
该选项影响期望使用路径名的选项,例如
--git-dir, 路径名--work-tree的解释将相对于由该-C选项引起的工作目录进行。例如,以下调用是等效的:git --git-dir = a.git --work-tree = b -C状态 git --git-dir = c / a.git --work-tree = c / b状态
-c <name>=<value>
-
将配置参数传递给命令。给定的值将覆盖配置文件中的值。<name>的格式应与git config列出的格式相同 (子键由点分隔)。
请注意,省略
=ingit -c foo.bar ...是允许的,并设置foo.bar为boolean 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
man(1)为该版本的Git的手册页打印manpath(请参阅参考资料),然后退出。
--info-path
- 打印记录此版本Git的信息文件的安装路径,然后退出。
-p
--paginate
- 如果标准输出是终端,则将所有输出通过管道传递到less(或设置为$ PAGER)中。这将覆盖
pager.<cmd>配置选项(请参阅下面的“配置机制”部分)。
-P
--no-pager
- 不要将Git输出通过管道传给寻呼机。
--git-dir=<path>
-
设置存储库的路径(“ .git”目录)。也可以通过设置
GIT_DIR环境变量来控制。它可以是当前工作目录的绝对路径或相对路径。使用此选项(或
GIT_DIR环境变量)指定“ .git”目录的位置会关闭试图通过“ .git”子目录查找目录的存储库发现(这是存储库和工作树的顶层的方式)被发现),并告诉Git您处在工作树的顶层。如果您不在工作树的顶层目录中,则应使用--work-tree=<path>选项(或GIT_WORK_TREE环境变量)告诉Git工作树的顶层位置在哪里如果您只想像运行git一样运行git,请
<path>使用git -C <path>。
--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
- 从字面上对待pathspec(即,不要乱扔,没有pathspec魔术)。这等效于将
GIT_LITERAL_PATHSPECS环境变量设置为1。
--glob-pathspecs
- 向所有pathspec添加“ glob”魔术。这等效于将
GIT_GLOB_PATHSPECS环境变量设置为1。可以使用pathspec magic“:(literal)”禁用单个pathspec上的globing
--noglob-pathspecs
- 向所有pathspec添加“文字”魔术。这等效于将
GIT_NOGLOB_PATHSPECS环境变量设置为1。可以使用pathspec magic“:(glob)”在单个pathspec上启用globing
--icase-pathspecs
- 向所有pathspec添加“ icase”魔术。这等效于将
GIT_ICASE_PATHSPECS环境变量设置为1。
--no-optional-locks
- 不要执行需要锁定的可选操作。这等效于将设置
GIT_OPTIONAL_LOCKS为0。
--list-cmds = group [,group ...]
- 按组列出命令。这是内部/实验选项,将来可能会更改或删除。支持的组包括:内置程序,parseopt(使用parse-options的内置命令),main(libexec目录中的所有命令),其他(其他所有
$PATH具有git-前缀的命令),list- <类别>(请参阅command- list.txt),nohelpers(不包括helper命令),别名和config(从config变量completion.commands中检索命令列表)
高级命令
-
git-add
将文件内容添加到索引
-
git-am
从邮箱应用一系列补丁
-
git-archive
从命名树创建文件档案
-
git-bisect
使用二进制搜索找到引入错误的提交
-
git-branch
列出,创建或删除分支
-
git-bundle
按档案移动对象和参照
-
git-checkout
切换分支或还原工作树文件
-
git-cherry-pick
应用一些现有提交引入的更改
-
git-citool
git-commit的图形替代
-
git-clean
从工作树中删除未跟踪的文件
-
git-clone
将存储库克隆到新目录
-
git-commit
记录对存储库的更改
-
git-describe
根据可用的引用为对象赋予人类可读的名称
-
git-diff
显示提交,提交和工作树等之间的更改
-
git-fetch
从另一个存储库下载对象和引用
-
git-format-patch
准备用于电子邮件提交的补丁
-
git-gc
清理不必要的文件并优化本地存储库
-
git-grep
打印与图案匹配的线
-
git-gui
Git的便携式图形界面
-
git-init
创建一个空的Git存储库或重新初始化一个现有的存储库
-
gitk
Git存储库浏览器
-
git-log
显示提交日志
-
git-maintenance
运行任务以优化Git存储库数据
-
git-merge
将两个或多个开发历史联系在一起
-
git-mv
移动或重命名文件,目录或符号链接
-
git-notes
添加或检查对象注释
-
git-pull
从另一个存储库或本地分支获取并与之集成
-
git-push
更新远程引用以及关联的对象
-
git-range-diff
比较两个提交范围(例如,分支的两个版本)
-
git-rebase
重新提交在另一个基本提示之上的提交
-
git-reset
将当前HEAD重置为指定状态
-
git-restore
恢复工作树文件
-
git-revert
还原一些现有的提交
-
git-rm
从工作树和索引中删除文件
-
git-shortlog
汇总git日志输出
-
git-show
显示各种类型的对象
-
git-sparse-checkout
初始化和修改稀疏签出
-
git-stash
将更改存储在脏的工作目录中
-
git-status
显示工作树状态
-
git-submodule
初始化,更新或检查子模块
-
git-switch
切换分支
-
git-tag
创建,列出,删除或验证使用GPG签名的标签对象
-
git-worktree
管理多个工作树
辅助命令
机械手:
-
git-config
获取并设置存储库或全局选项
-
git-fast-export
Git数据导出器
-
git-fast-import
快速Git数据导入器的后端
-
git-filter-branch
重写分支
-
git-mergetool
运行合并冲突解决工具以解决合并冲突
-
git-pack-refs
包装头和标签,可有效访问存储库
-
git-prune
从对象数据库中修剪所有无法访问的对象
-
git-reflog
管理Reflog信息
-
git-remote
管理一组跟踪的存储库
-
git-repack
将解压缩的对象打包到存储库中
-
git-replace
创建,列出,删除引用以替换对象
询问器:
-
git-annotate
用提交信息注释文件行
-
git-blame
显示什么修订和作者最后修改文件的每一行
-
git-bugreport
收集信息以供用户提交错误报告
-
git-count-objects
计算解压缩的对象数及其磁盘消耗量
-
git-difftool
使用常见的差异工具显示更改
-
git-fsck
验证数据库中对象的连接性和有效性
-
git-help
显示有关Git的帮助信息
-
git-instaweb
即时浏览gitweb中的工作库
-
git-merge-tree
显示三路合并而不会触及索引
-
git-rerere
重用记录的冲突合并解决方案
-
git-show-branch
显示分支及其提交
-
git-verify-commit
检查提交的GPG签名
-
git-verify-tag
检查代码的GPG签名
-
gitweb
Git Web界面(Git存储库的Web前端)
-
git-whatchanged
显示每次提交引入差异的日志
与他人互动
这些命令用于通过电子邮件打补丁与外国SCM和其他人进行交互。
-
git-archimport
将GNU Arch存储库导入Git
-
git-cvsexportcommit
将单个提交导出到CVS签出
-
git-cvsimport
从另一个讨厌的SCM抢救您的数据
-
git-cvsserver
适用于Git的CVS服务器模拟器
-
git-imap-send
将补丁集从标准输入发送到IMAP文件夹
-
git-p4
从Perforce存储库导入并提交给Perforce存储库
-
git-quiltimport
将被子补丁集应用于当前分支
-
git-request-pull
生成未决更改的摘要
-
git-send-email
通过电子邮件发送补丁集
-
git-svn
Subversion存储库和Git之间的双向操作
重置,还原和还原
有三个命令具有类似名称:git reset, git restore和git revert。
-
git-revert关于进行新的提交,该提交将还原其他提交所做的更改。
-
git-restore关于从索引或其他提交还原工作树中的文件。此命令不会更新您的分支。该命令还可用于从另一个提交还原索引中的文件。
-
git-reset是关于更新分支,移动提示以便从分支中添加或删除提交。此操作更改提交历史记录。
git reset也可以用于还原索引,与重叠git restore。
低级命令
-
git-apply
将修补程序应用于文件和/或索引
-
git-checkout-index
将文件从索引复制到工作树
-
git-commit-graph
编写并验证Git提交图文件
-
git-commit-tree
创建一个新的提交对象
-
git-hash-object
计算对象ID并可以选择从文件创建Blob
-
git-index-pack
现有打包压缩文件的构建打包索引文件
-
git-merge-file
运行三向文件合并
-
git-merge-index
对需要合并的文件运行合并
-
git-multi-pack-index
编写并验证多重包装索引
-
git-mktag
创建一个标签对象
-
git-mktree
从ls-tree格式的文本构建树对象
-
git-pack-objects
创建一个打包的对象档案
-
git-prune-packed
删除打包文件中已经存在的其他对象
-
git-read-tree
将树信息读入索引
-
git-symbolic-ref
读取,修改和删除符号引用
-
git-unpack-objects
从压缩档案中解压缩对象
-
git-update-index
将工作目录中的文件内容注册到索引
-
git-update-ref
安全地更新存储在引用中的对象名称
-
git-write-tree
从当前索引创建树对象
询问命令
-
git-cat-file
提供存储库对象的内容或类型和大小信息
-
git-cherry
查找尚未应用于上游的提交
-
git-diff-files
比较工作树中的文件和索引
-
git-diff-index
将树与工作树或索引进行比较
-
git-diff-tree
比较通过两个树对象找到的Blob的内容和模式
-
git-for-each-ref
输出有关每个参考的信息
-
git-for-每个-repo
在存储库列表上运行Git命令
-
git-get-tar-commit-id
从使用git-archive创建的档案中提取提交ID
-
git-ls-files
显示有关索引和工作树中文件的信息
-
git-ls-remote
列出远程存储库中的引用
-
git-ls-tree
列出树对象的内容
-
git-merge-base
寻找尽可能好的共同祖先以进行合并
-
git-name-rev
查找给定转速的符号名称
-
git-pack-redundant
查找冗余包文件
-
git-rev-list
以相反的时间顺序列出提交对象
-
git-rev-parse
挑选和按摩参数
-
git-show-index
显示打包的存档索引
-
git-show-ref
列出本地存储库中的引用
-
git-unpack-file
创建一个包含blob内容的临时文件
-
git-var
显示一个Git逻辑变量
-
git-verify-pack
验证打包的Git存档文件
通常,询问命令不会触及工作树中的文件。
同步存储库
-
git-daemon
一个非常简单的Git存储库服务器
-
git-fetch-pack
从另一个存储库接收丢失的对象
-
git-http-backend
通过HTTP的Git的服务器端实现
-
git-send-pack
通过Git协议将对象推送到另一个存储库
-
git-update-server-info
更新辅助信息文件以帮助哑服务器
以下是上面使用的帮助程序命令;最终用户通常不直接使用它们。
-
git-http-fetch
通过HTTP从远程Git存储库下载
-
git-http-push
通过HTTP / DAV将对象推送到另一个存储库
-
git-receive-pack
接收推送到存储库中的内容
-
git-shell
仅限Git SSH访问的受限登录Shell
-
git-upload-archive
将存档发送回git-archive
-
git-upload-pack
将打包的对象发送回git-fetch-pack
内部帮助程序命令
这些是其他命令使用的内部帮助程序命令。最终用户通常不直接使用它们。
-
git-check-attr
显示gitattributes信息
-
git-check-ignore
调试gitignore /排除文件
-
git-check-mailmap
显示联系人的规范名称和电子邮件地址
-
git-check-ref-format
确保参考名称格式正确
-
git-column
在列中显示数据
-
git-credential
检索和存储用户凭证
-
git-credential-cache
帮助程序将密码临时存储在内存中
-
git-credential-store
将凭据存储在磁盘上的助手
-
git-fmt-merge-msg
产生合并提交消息
-
git-interpret-trailers
在提交消息中添加或解析结构化信息
-
git-mailinfo
从单个电子邮件中提取补丁和作者身份
-
git-mailsplit
简单的UNIX mbox拆分器程序
-
git-merge-one-file
与git-merge-index一起使用的标准帮助程序
-
git-patch-id
计算补丁的唯一ID
-
git-sh-i8n
Git的Shell脚本的i8n安装代码
-
git-sh-setup
通用Git Shell脚本设置代码
-
git-stripspace
删除不必要的空格
导游
以下文档页面是有关Git概念的指南。
-
gitattributes
定义每个路径的属性
-
gitcli
Git命令行界面和约定
-
gitcore-tutorial
针对开发人员的Git核心教程
-
gitcredentials
提供用户名和密码给Git
-
gitcvs-migration
适用于CVS用户的Git
-
gitdiffcore
调整差异输出
-
giteveryday
日常Git有用的最小命令集
-
gitfaq
有关使用Git的常见问题
-
gitglossary
Git词汇表
-
githooks
Git使用的挂钩
-
gitignore
指定要忽略的故意未跟踪的文件
-
gitmodules
定义子模块属性
-
gitnamespaces
Git命名空间
-
gitremote-helpers
帮助程序与远程存储库进行交互
-
gitrepository-layout
Git仓库布局
-
gitrevisions
指定Git的修订和范围
-
gitsubmodules
将一个存储库安装到另一个存储库中
-
gittutorial-2
Git教程简介:第二部分
-
gittutorial
Git教程简介
-
gitworkflows
使用Git推荐的工作流程概述
配置机制
Git使用一种简单的文本格式来存储每个存储库和每个用户的自定义。这样的配置文件可能如下所示:
#
# A '#' or ';' character indicates a comment.
#
; core variables
[core]
; Don't trust file modes
filemode = false
; user identity
[user]
name = "Junio C Hamano"
email = "gitster@pobox.com"
浙公网安备 33010602011771号