1. 起步
1.1 关于版本控制
1.2 Git 简史
1.3 Git 是什么?
1.4 命令行
1.5 安装 Git
1.6 初次运行 Git 前的配置
1.7 获取帮助
1.8 总结
2. Git 基础
2.1 获取 Git 仓库
2.2 记录每次更新到仓库
2.3 查看提交历史
2.4 撤消操作
2.5 远程仓库的使用
2.6 打标签
2.7 Git 别名
2.8 总结
3. Git 分支
3.1 分支简介
3.2 分支的新建与合并
3.3 分支管理
3.4 分支开发工作流
3.5 远程分支
3.6 变基
3.7 总结
4. 服务器上的 Git
4.1 协议
4.2 在服务器上搭建 Git
4.3 生成 SSH 公钥
4.4 配置服务器
4.5 Git 守护进程
4.6 Smart HTTP
4.7 GitWeb
4.8 GitLab
4.9 第三方托管的选择
4.10 总结
5. 分布式 Git
5.1 分布式工作流程
5.2 向一个项目贡献
5.3 维护项目
5.4 总结
6. GitHub
6.1 账户的创建和配置
6.2 对项目做出贡献
6.3 维护项目
6.4 管理组织
6.5 脚本 GitHub
6.6 总结
7. Git 工具
7.1 选择修订版本
7.2 交互式暂存
7.3 贮藏与清理
7.4 签署工作
7.5 搜索
7.6 重写历史
7.7 重置揭密
7.8 高级合并
7.9 Rerere
7.10 使用 Git 调试
7.11 子模块
7.12 打包
7.13 替换
7.14 凭证存储
7.15 总结
8. 自定义 Git
8.1 配置 Git
8.2 Git 属性
8.3 Git 钩子
8.4 使用强制策略的一个例子
8.5 总结
9. Git 与其他系统
9.1 作为客户端的 Git
9.2 迁移到 Git
9.3 总结
10. Git 内部原理
10.1 底层命令与上层命令
10.2 Git 对象
10.3 Git 引用
10.4 包文件
10.5 引用规范
10.6 传输协议
10.7 维护与数据恢复
10.8 环境变量
10.9 总结
A1. 附录 A: 在其它环境中使用 Git
A1.1 图形界面
A1.2 Visual Studio 中的 Git
A1.3 Git in Visual Studio Code
A1.4 Eclipse 中的 Git
A1.5 Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
A1.6 Git in Sublime Text
A1.7 Bash 中的 Git
A1.8 Zsh 中的 Git
A1.9 Git 在 PowerShell 中使用 Git
A1.10 总结
A2. 附录 B: 在你的应用中嵌入 Git
A2.1 命令行 Git 方式
A2.2 Libgit2
A2.3 JGit
A2.4 go-git
A2.5 Dulwich
A3. 附录 C: Git 命令
A3.1 设置与配置
A3.2 获取与创建项目
A3.3 快照基础
A3.4 分支与合并

git的中文文档: https://git-scm.com/book/zh/v2