常见的 Git 指南
- attributes 定义每个路径的属性
- cli Git 命令行界面和约定
- core-tutorial 面向开发人员的 Git 核心教程
- cvs-migration CVS 用户的 Git
- diffcore 调整差异输出
- everyday 日常 Git 的一组有用的最小命令
- faq 使用 Git 的常见问题
- glossary Git 术语表
- hooks Git 使用的钩子
- ignore 指定要忽略的有意未跟踪的文件
- modules 定义子模块属性
- namespaces Git 命名空间
- repository-layout Git 存储库布局
- revisions 指定 Git 的修订和范围
- submodules 将一个存储库装入另一个存储库
- tutorial Git的教程介绍
- tutorial-2 Git 教程介绍:第二部分
- workflows 推荐的 Git 工作流程概览
‘git help -a’ 和 ‘git help -g’ 列出可用的子命令和
概念指南。请参阅“git help ”或“git help <concept”
阅读特定的子命令或概念。
有关系统的概述,请参阅“git help git”。
请参阅“git help ”以了解特定子命令
Main Porcelain Commands
- add 将文件内容添加到索引
- am 从邮箱应用一系列补丁
- archive 从命名树创建文件存档
- bisect 使用二进制搜索查找引入错误的提交
- branch 列出、创建或删除分支
- bundle 按存档移动对象和引用
- checkout 切换分支或恢复工作树文件
- cherry-pick 应用一些现有提交引入的更改
- citool git-commit 的图形替代方案
- clean 从工作树中删除未跟踪的文件
- clone 将存储库克隆到新目录中
- commit 记录对存储库的更改
- describe 根据可用的引用为对象提供一个人类可读的名称
- diff 显示提交、提交和工作树等之间的变化
- fetch 从另一个存储库下载对象和引用
- format-patch 为电子邮件提交准备补丁
- gc 清理不必要的文件并优化本地存储库
- gitk Git 存储库浏览器
- grep 打印匹配模式的行
- gui 一个可移植的 Git 图形界面
- init 创建一个空的 Git 存储库或重新初始化现有的存储库
- log 显示提交日志
- merge 将两个或多个开发历史连接在一起
- mv 移动或重命名文件、目录或符号链接
- notes 添加或检查对象注释
- pull 从另一个存储库或本地分支获取并集成
- push 更新远程引用以及关联的对象
- range-diff 比较两个提交范围(例如一个分支的两个版本)
- rebase 在另一个基本提示之上重新应用提交
- reset 将当前 HEAD 重置为指定状态
- restore 恢复工作树文件
- revert 还原一些现有的提交
- rm 从工作树和索引中删除文件
- shortlog 总结 ‘git log’ 输出
- show 显示各种类型的对象
- sparse-checkout 初始化和修改稀疏结帐
- stash 将更改隐藏在脏工作目录中
- status 显示工作树状态
- submodule 初始化、更新或检查子模块
- switch 切换分支
- tag 创建、列出、删除或验证使用 GPG 签名的标签对象
- worktree 管理多个工作树
Ancillary Commands / Manipulators
- config 获取和设置存储库或全局选项
- fast-export Git数据导出器
- fast-import 快速 Git 数据导入器的后端
- filter-branch 重写分支
- mergetool 运行合并冲突解决工具来解决合并冲突
- pack-refs 打包头和标签以实现高效的存储库访问
- prune 从对象数据库中修剪所有无法访问的对象
- reflog 管理 reflog 信息
- remote 管理一组跟踪的存储库
- repack 将解包的对象打包到存储库中
- replace 创建、列出、删除引用以替换对象
Ancillary Commands / Interrogators
- annotate 用提交信息注释文件行
- blame 显示文件每一行的最后修改版本和作者
- bugreport 为用户收集信息以提交错误报告
- count-objects 计算未打包的对象数量及其磁盘消耗
- difftool 使用常见的差异工具显示更改
- fsck 验证数据库中对象的连通性和有效性
- gitweb Git Web 界面(Git 存储库的 Web 前端)
- help 显示 Git 的帮助信息
- instaweb 立即在 gitweb 中浏览您的工作存储库
- merge-tree 不接触索引显示三路合并
- rerere 重用冲突合并的记录解决方案
- show-branch 显示分支及其提交
- verify-commit 检查提交的 GPG 签名
- verify-tag 检查标签的GPG签名
- whatchanged 显示每个提交引入的不同日志
Interacting with Others
- archimport 将 GNU Arch 存储库导入 Git
- cvsexportcommit 将单个提交导出到 CVS 检出
- cvsimport 从人们讨厌的另一个 SCM 中挽救您的数据
- cvsserver Git 的 CVS 服务器模拟器
- imap-send 将一组补丁从标准输入发送到 IMAP 文件夹
- p4 从 Perforce 存储库导入并提交到 Perforce 存储库
- quiltimport 将 quilt patchset 应用到当前分支上
- request-pull 生成未决更改的摘要
- send-email 将补丁集作为电子邮件发送
- svn Subversion 仓库和 Git 之间的双向操作
Low-level Commands / Manipulators
- apply 对文件和/或索引应用补丁
- checkout-index 将文件从索引复制到工作树
- commit-graph 编写并验证 Git 提交图文件
- commit-tree 创建一个新的提交对象
- hash-object 计算对象 ID 并可选择从文件创建一个 blob
- index-pack 为现有的打包存档构建打包索引文件
- merge-file 运行三向文件合并
- merge-index 为需要合并的文件运行合并
- mktag 创建标签对象
- mktree 从 ls-tree 格式的文本构建一个树对象
- multi-pack-index 编写并验证多包索引
- pack-objects 创建一个打包的对象存档
- prune-packed 删除包文件中已有的额外对象
- read-tree 将树信息读入索引
- symbolic-ref 读取、修改和删除符号引用
- unpack-objects 从打包存档中解压对象
- update-index 将工作树中的文件内容注册到索引
- update-ref 安全地更新存储在 ref 中的对象名称
- write-tree 从当前索引创建一个树对象
Low-level Commands / Interrogators
- cat-file 为存储库对象提供内容或类型和大小信息
- cherry 查找尚未应用于上游的提交
- diff-files 比较工作树和索引中的文件
- diff-index 将树与工作树或索引进行比较
- diff-tree 比较通过两个树对象找到的 blob 的内容和模式
- for-each-ref 每个 ref 的输出信息
- get-tar-commit-id 从使用 git-archive 创建的存档中提取提交 ID
- ls-files 显示有关索引和工作树中文件的信息
- ls-remote 列出远程存储库中的引用
- ls-tree 列出树对象的内容
- merge-base 为合并找到尽可能好的共同祖先
- name-rev 查找给定转速的符号名称
- pack-redundant 查找冗余包文件
- rev-list 按时间倒序列出提交对象
- rev-parse 挑选和按摩参数
- show-index 显示打包归档索引
- show-ref 列出本地存储库中的引用
- unpack-file 使用 blob 的内容创建一个临时文件
- var 显示 Git 逻辑变量
- verify-pack 验证打包的 Git 存档文件
Low-level Commands / Syncing Repositories
- daemon 一个非常简单的 Git 存储库服务器
- fetch-pack 从另一个存储库接收丢失的对象
- http-backend Git over HTTP 的服务器端实现
- send-pack 通过 Git 协议将对象推送到另一个存储库
- update-server-info 更新辅助信息文件以帮助哑服务器
Low-level Commands / Internal Helpers
- check-attr 显示 gitattributes 信息
- check-ignore 调试 gitignore 排除文件
- check-mailmap 显示联系人的规范名称和电子邮件地址
- check-ref-format 确保引用名称格式正确
- column 按列显示数据
- credential 检索和存储用户凭据
- credential-cache 将密码临时存储在内存中的助手
- credential-store 帮助在磁盘上存储凭据
- fmt-merge-msg 生成合并提交消息
- interpret-trailers 在提交消息中添加或解析结构化信息
- mailinfo 从单个电子邮件消息中提取补丁和作者身份
- mailsplit 简单的 UNIX mbox 拆分器程序
- merge-one-file 与 git-merge-index 一起使用的标准帮助程序
- patch-id 计算补丁的唯一 ID
- sh-i18n Git 的 shell 脚本的 i18n 设置代码
- sh-setup 常见的 Git shell 脚本设置代码
- stripspace 删除不必要的空格
External commands
- credential-osxkeychain
Command aliases
- a !git add . && git status
- aa !git add . && git add -u . && git status
- ac !git add . && git commit
- acm !git add . && git commit -m
- alias !git config --list | grep ‘alias.’ | sed ‘s/alias.([^=])=(.)/\1\ => \2/’ | sort
- au !git add -u . && git status
- c commit
- ca commit --amend
- cm commit -m
- d diff
- l log --graph --all --pretty=format:’%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset’
- lg log --color --graph --pretty=format:’%C(bold white)%h%Creset -%C(bold green)%d%Creset %s %C(bold green)(%cr)%Creset %C(bold blue)<%an>%Creset’ --abbrev-commit --date=relative
- ll log --stat --abbrev-commit
- llg log --color --graph --pretty=format:’%C(bold white)%H %d%Creset%n%s%n%+b%C(bold blue)%an <%ae>%Creset %C(bold green)%cr (%ci)’ --abbrev-commit
- master checkout master
- s status
- spull svn rebase
- spush svn dcommit