Summary 前言 起步 关于版本控制 Git 简史 Git 基础 命令行 Git 初次运行 Git 前的配置 获取帮助 总结 Git 基础 获取 Git 仓库 记录每次更新到仓库 查看提交历史 撤消操作 远程仓库的使用 打标签 Git 别名 总结 Git 分支 分支简介 分支的新建与合并 分支管理 分支开发工作流 远程分支 变基 总结 服务器上的 Git 协议 在服务器上搭建 Git 生成 SSH 公钥 配置服务器 Git 守护进程 Smart HTTP GitWeb GitLab 第三方托管的选择 总结 分布式 Git 分布式工作流程 向一个项目贡献 维护项目 总结 Github 账户的创建和配置 对项目做出贡献 维护项目 管理组织 脚本 GitHub 总结 Git 工具 选择修订版本 交互式暂存 储藏与清理 签署工作 搜索 重写历史 重置揭密 高级合并 Rerere 使用 Git 调试 子模块 打包 替换 凭证存储 总结 自定义 Git 配置 Gits Git 属性 Git 钩子 使用强制策略的一个例子 总结 Git 与其他系统 作为客户端的 Git 迁移到 Git 总结 Git 内部原理 底层命令和高层命令 Git 对象 Git 引用 包文件 引用规格 传输协议 维护与数据恢复 环境变量 总结 附录A:其它环境中的 Git 图形界面 Visual Studio 中的 Git Eclipse 中的 Git Bash 中的 Git Zsh 中的 Git Powershell 中的 Git 总结 附录B:将 Git 嵌入你的应用 命令行 Git 方式 Libgit2 JGit 附录C:Git 命令 原书贡献者