第1篇 欢迎来到分布式世界 1
第1章 Git的版本控制之道 3
1.1 版本库 4
1.2 版本库中存储什么 5
1.3 工作目录树 6
1.4 代码修改与文件同步 6
1.5 跟踪项目、目录和文件 7
1.6 使用标签跟踪里程碑 8
1.7 使用分支来跟踪并行演进 9
1.8 合并 10
1.9 锁机制 12
1.10 下一步 13
第2章 Git安装与设置 15
2.1 安装Git 15
2.2 设置Git 20
2.3 使用Git图形界面(GUI) 22
2.4 获取Git内置帮助信息 23
第3章 创建第一个项目 25
3.1 创建版本库 26
3.2 代码修改 26
3.3 在项目中工作 29
3.4 理解并使用分支 32
3.5 处理发布 33
3.6 克隆远程版本库 37
第2篇 Git日常用法 39
第4章 添加与提交:Git基础 41
4.1 添加文件到暂存区 42
4.2 提交修改 45
4.3 查看修改内容 48
4.4 管理文件 51
第5章 理解和使用分支 55
5.1 什么叫分支 56
5.2 创建新分支 57
5.3 合并分支间的修改 59
5.4 冲突处理 64
5.5 删除分支 67
5.6 分支重命名 68
第6章 查询Git历史记录 71
6.1 查看Git日志 72
6.2 指定查找范围 73
6.3 查看版本之间的差异 76
6.4 查明该向谁问责 77
6.5 跟踪内容 79
6.6 撤销修改 82
6.7 重新改写历史记录 85
第7章 与远程版本库协作 91
7.1 网络协议 91
7.2 克隆远程版本库 94
7.3 版本库同步 95
7.4 推入改动 96
7.5 添加新的远程版本库 97
第8章 管理本地版本库 101
8.1 使用标签标记里程碑 102
8.2 发布分支的处理 104
8.3 标签与分支的有效名称 106
8.4 记录和跟踪多个项目 107
8.5 使用Git子模块跟踪外部版本库 108
第9章 高阶功能 115
9.1 压缩版本库 116
9.2 导出版本库 117
9.3 分支变基 118
9.4 重现隐藏的历史 121
9.5 二分查找 124
第3篇 系统管理 129
第10章 迁移到Git 131
10.1 与SVN的通信 131
10.2 确保git-svn是可用的 135
10.3 导入Subversion版本库 136
10.4 与Subversion版本库保持同步更新 138
10.5 将修改推入SVN 140
10.6 从CVS导入 141
第11章 使用Gitosis管理Git服务器 143
11.1 确定Gitosis所依赖的程序已经安装 144
11.2 安装Gitosis 145
11.3 创建管理员SSH证书 145
11.4 配置Gitosis服务器 146
11.5 初始化Gitosis 147
11.6 配置Gitosis 147
11.7 添加新版本库 148
11.8 设置公共版本库 150
11.9 结束语 151
第4篇 附录 153
附录A Git命令快速参考 155
A.1 安装和初始化 155
A.2 日常操作 156
A.3 分支 157
A.4 历史 159
A.5 远程版本库 161
A.6 连接Git和SVN 162
附录B 其他资源和工具 165
B.1 Git附带工具 165
B.2 第三方工具 166
B.3 Git版本库托管服务 169
B.4 在线资源 170
附录C 参考书目 173
索引 175