Git权威指南

8.0423 评价豆瓣读书
阅读
¥30.00
  • 导言
  • 目录
  • 作品信息

《Git权威指南》是Git领域的集大成之作,是一本关于Git的百科全书,在广度、深度和实战性上让同类作品望尘莫及。作者是国内顶尖的版本控制专家和咨询顾问之一,本书得到了Git官方维护者Junio C Hamano和ITeye创始人范凯(Robbin)先生等数位专家的高度认可和极力推荐,权威性毋庸置疑。

全书一共9篇,共41章和4个附录,内容几乎涵盖了Git的所有方面。第1篇介绍了版本控制工具的演变历史、Git的各种优点,以及它在3种主流操作系统中的安装与配置。第2篇和第3篇既是本书的基础,又是本书的核心,不仅介绍了Git的操作和使用,而且还讲解了Git的原理。第2篇详细讲解了个人用户如何使用Git,包括Git初始化、日常操作、暂存区、对象、重置、检出、恢复进度、历史变更、克隆、库管理等;第3篇详细讲解了Git协议和团队如何使用Git,包括Git支持的协议、冲突解决、里程碑、分支、远程版本库和补丁文件交互等。第4篇全面介绍了Git的协同模型,即它在实际工作中的使用模式,包括各种经典的Git协同模型、Topgit协同模型、子模组协同模型、子树合并、Android多版本库协同、Git与SVN协同模型等。第5篇介绍了Git服务器的架设,首先讲解了HTTP协议、Git协议、SSH协议的使用,然后讲解了Gitolite、Gitosis、Gerrit等服务器的架设方法,最后还讲解了Git版本库的托管。第6篇介绍了版本库的迁移,包括如何从CVS、SVN、Hg等版本库迁移到Git,以及Git版本库整理等方面的内容。第7篇讲解了Git的其他应用,包括etckeeper、Gistore等的安装、配置和使用,以及补丁中的二进制文件和云存储等内容。第8篇介绍了Git的跨平台操作,以及它的钩子和模板、稀疏检出和浅克隆、嫁接和替换等重要特性。第9篇是附录,详细给出了Git的命令索引,以及CVS、SVN和Hg与Git的比较与命令对照,方便读者查阅。

蒋鑫,国内顶尖的版本控制专家和咨询顾问之一,对Subversion和Git等版本控制工具有十分深入的研究,参与了Git以及Gitosis、Gitolite、Repo、Topgit、Gistore等与Git相关的开源软件的开发或创建,在大量实践中积累了丰富的经验。此外,他还是一位开源软件实践者,作为北京群英汇信息技术有限公司的创始人兼高级顾问,一直从事开源软件的定制以及面向研发团队的项目管理软件的推广和顾问咨询工作,致力于推动开源软件在中国的发展。

本书官网:http://www.ossxp.com/doc/gotgit/

作者博客:http://blog.ossxp.com/

作者微博:http://weibo.com/gotgit/

本书微群:http://q.weibo.com/567527

本书豆瓣小组:http://www.douban.com/group/gotgit/

  1. 前言
  2. 第1篇 初识Git
  3. 第1章 版本控制的前世和今生
  4. 1.1 黑暗的史前时代
  5. 1.2 CVS——开启版本控制大爆发
  6. 1.3 SVN——集中式版本控制集大成者
  7. 1.4 Git——Linus的第二个伟大作品
  8. 第2章 爱上Git的理由
  9. 2.1 每日工作备份
  10. 2.2 异地协同工作
  11. 2.3 现场版本控制
  12. 2.4 避免引入辅助目录
  13. 2.5 重写提交说明
  14. 2.6 想吃后悔药
  15. 2.7 更好用的提交列表
  16. 2.8 更好的差异比较
  17. 2.9 工作进度保存
  18. 2.10 代理SVN提交实现移动式办公
  19. 2.11 无处不在的分页器
  20. 2.12 快
  21. 第3章 Git的安装和使用
  22. 3.1 在Linux下安装和使用Git
  23. 3.2 在Mac OS X下安装和使用Git
  24. 3.3 在Windows下安装和使用Git(Cygwin篇)
  25. 3.4 Windows下安装和使用Git(msysGit篇)
  26. 第2篇 Git独奏
  27. 第4章 Git初始化
  28. 4.1 创建版本库及第一次提交
  29. 4.2 思考:为什么工作区根目录下有一个.git目录
  30. 4.3 思考:git config命令的各参数有何区别
  31. 4.4 思考:是谁完成的提交
  32. 4.5 思考:随意设置提交者姓名,是否太不安全
  33. 4.6 思考:命令别名是干什么的
  34. 4.7 备份本章的工作成果
  35. 第5章 Git暂存区
  36. 5.1 修改不能直接提交吗
  37. 5.2 理解Git暂存区(stage)
  38. 5.3 Git Diff魔法
  39. 5.4 不要使用git commit-a
  40. 5.5 搁置问题,暂存状态
  41. 第6章 Git对象
  42. 6.1 Git对象库探秘
  43. 6.2 思考:SHA1哈希值到底是什么,是如何生成的
  44. 6.3 思考:为什么不用顺序的数字来表示提交
  45. 第7章 Git重置
  46. 7.1 分支游标master探秘
  47. 7.2 用reflog挽救错误的重置
  48. 7.3 深入了解git reset命令
  49. 第8章 Git检出
  50. 8.1 HEAD的重置即检出
  51. 8.2 挽救分离头指针
  52. 8.3 深入了解git checkout命令
  53. 第9章 恢复进度
  54. 9.1 继续暂存区未完成的实践
  55. 9.2 使用git stash
  56. 9.3 探秘git stash
  57. 第10章 Git基本操作
  58. 10.1 先来合个影
  59. 10.2 删除文件
  60. 10.3 恢复删除的文件
  61. 10.4 移动文件
  62. 10.5 一个显示版本号的Hello World
  63. 10.6 使用git add-i选择性添加
  64. 10.7 Hello World引发的新问题
  65. 10.8 文件忽略
  66. 10.9 文件归档
  67. 第11章 历史穿梭
  68. 11.1 图形工具:gitk
  69. 11.2 图形工具:gitg
  70. 11.3 图形工具:qgit
  71. 11.4 命令行工具
  72. 第12章 改变历史
  73. 12.1 悔棋
  74. 12.2 多步悔棋
  75. 12.3 回到未来
  76. 12.4 丢弃历史
  77. 12.5 反转提交
  78. 第13章 Git克隆
  79. 13.1 鸡蛋不装在一个篮子里
  80. 13.2 对等工作区
  81. 13.3 克隆生成裸版本库
  82. 13.4 创建生成裸版本库
  83. 第14章 Git库管理
  84. 14.1 对象和引用哪里去了
  85. 14.2 暂存区操作引入的临时对象
  86. 14.3 重置操作引入的对象
  87. 14.4 Git管家:git-gc
  88. 14.5 Git管家的自动执行
  89. 第3篇 Git和声
  90. 第15章 Git协议与工作协同
  91. 15.1 Git支持的协议
  92. 15.2 多用户协同的本地模拟
  93. 15.3 强制非快进式推送
  94. 15.4 合并后推送
  95. 15.5 禁止非快进式推送
  96. 第16章 冲突解决
  97. 16.1 拉回操作中的合并
  98. 16.2 合并一:自动合并
  99. 16.3 合并二:逻辑冲突
  100. 16.4 合并三:冲突解决
  101. 16.5 合并四:树冲突
  102. 16.6 合并策略
  103. 16.7 合并相关的设置
  104. 第17章 Git里程碑
  105. 17.1 显示里程碑
  106. 17.2 创建里程碑
  107. 17.3 删除里程碑
  108. 17.4 不要随意更改里程碑
  109. 17.5 共享里程碑
  110. 17.6 删除远程版本库的里程碑
  111. 17.7 里程碑命名规范
  112. 第18章 Git分支
  113. 18.1 代码管理之殇
  114. 18.2 分支命令概述
  115. 18.3 “Hello World”开发计划
  116. 18.4 基于特性分支的开发
  117. 18.5 基于发布分支的开发
  118. 18.6 分支变基
  119. 第19章 远程版本库
  120. 19.1 远程分支
  121. 19.2 分支追踪
  122. 19.3 远程版本库
  123. 19.4 PUSH和PULL操作与远程版本库
  124. 19.5 里程碑和远程版本库
  125. 19.6 分支和里程碑的安全性
  126. 第20章 补丁文件交互
  127. 20.1 创建补丁
  128. 20.2 应用补丁
  129. 20.3 StGit和Quilt
  130. 第4篇 Git协同模型
  131. 第21章 经典Git协同模型
  132. 21.1 集中式协同模型
  133. 21.2 社交网络式协同模型
  134. 第22章 Topgit协同模型
  135. 22.1 作者版本控制系统的三个里程碑
  136. 22.2 Topgit原理
  137. 22.3 Topgit的安装
  138. 22.4 Topgit的使用
  139. 22.5 用Topgit方式改造Topgit
  140. 22.6 Topgit使用中的注意事项
  141. 第23章 子模组协同模型
  142. 23.1 创建子模组
  143. 23.2 克隆带子模组的版本库
  144. 23.3 在子模组中修改和子模组的更新
  145. 23.4 隐性子模组
  146. 23.5 子模组的管理问题
  147. 第24章 子树合并
  148. 24.1 引入外部版本库
  149. 24.2 子目录方式合并外部版本库
  150. 24.3 利用子树合并跟踪上游改动
  151. 24.4 子树拆分
  152. 24.5 git-subtree插件
  153. 第25章 Android式多版本库协同
  154. 25.1 关于repo
  155. 25.2 安装repo
  156. 25.3 repo和清单库的初始化
  157. 25.4 清单库和清单文件
  158. 25.5 同步项目
  159. 25.6 建立Android代码库本地镜像
  160. 25.7 repo的命令集
  161. 25.8 repo命令的工作流
  162. 25.9 好东西不能Android独享
  163. 第26章 Git和SVN协同模型
  164. 26.1 使用git-svn的一般流程
  165. 26.2 git-svn的奥秘
  166. 26.3 多样的git-svn克隆模式
  167. 26.4 共享git-svn的克隆库
  168. 26.5 git-svn的局限
  169. 第5篇 搭建Git服务器
  170. 第27章 使用HTTP协议
  171. 27.1 哑传输协议
  172. 27.2 智能HTTP协议
  173. 27.3 Gitweb服务器
  174. 第28章 使用Git协议
  175. 28.1 Git协议语法格式
  176. 28.2 Git服务软件
  177. 28.3 以inetd方式配置运行
  178. 28.4 以runit方式配置运行
  179. 第29章 使用SSH协议
  180. 29.1 SSH协议语法格式
  181. 29.2 服务架设方式比较
  182. 29.3 关于SSH公钥认证
  183. 29.4 关于SSH主机别名
  184. 第30章 Gitolite服务架设
  185. 30.1 安装Gitolite
  186. 30.2 管理Gitolite
  187. 30.3 Gitolite授权详解
  188. 30.4 版本库授权案例
  189. 30.5 创建新版本库
  190. 30.6 对Gitolite的改进
  191. 30.7 Gitolite功能拓展
  192. 第31章 Gitosis服务架设
  193. 31.1 安装Gitosis
  194. 31.2 管理Gitosis
  195. 31.3 Gitosis授权详解
  196. 31.4 创建新版本库
  197. 31.5 轻量级管理的Git服务
  198. 第32章 Gerrit代码审核服务器
  199. 32.1 Gerrit的实现原理
  200. 32.2 架设Gerrit的服务器
  201. 32.3 Gerrit的配置文件
  202. 32.4 Gerrit的数据库访问
  203. 32.5 立即注册为Gerrit管理员
  204. 32.6 管理员访问SSH的管理接口
  205. 32.7 创建新项目
  206. 32.8 从已有的Git库创建项目
  207. 32.9 定义评审工作流
  208. 32.10 Gerrit评审工作流实战
  209. 32.11 更多Gerrit参考
  210. 第33章 Git版本库托管
  211. 33.1 Github
  212. 33.2 Gitorious
  213. 第6篇 迁移到Git
  214. 第34章 CVS版本库到Git的迁移
  215. 34.1 安装cvs2svn(含cvs2git)
  216. 34.2 版本库转换的准备工作
  217. 34.3 版本库转换
  218. 34.4 迁移后的版本库检查
  219. 第35章 更多版本控制系统的迁移
  220. 35.1 SVN版本库到Git的迁移
  221. 35.2 Hg版本库到Git的迁移
  222. 35.3 通用版本库迁移
  223. 35.4 Git版本库整理
  224. 第7篇 Git的其他应用
  225. 第36章 etckeeper
  226. 36.1 安装etckeeper
  227. 36.2 配置etckeeper
  228. 36.3 使用etckeeper
  229. 第37章 Gistore
  230. 37.1 Gistore的安装
  231. 37.2 Gistore的使用
  232. 37.3 Gistore双机备份
  233. 第38章 补丁中的二进制文件
  234. 38.1 Git版本库中二进制文件变更的支持
  235. 38.2 对非Git版本库中二进制文件变更的支持
  236. 38.3 其他工具对Git扩展补丁文件的支持
  237. 第39章 云存储
  238. 39.1 现有云存储的问题
  239. 39.2 Git式云存储畅想
  240. 第8篇 Git杂谈
  241. 第40章 跨平台操作Git
  242. 40.1 字符集问题
  243. 40.2 文件名大小写问题
  244. 40.3 换行符问题
  245. 第41章 Git的其他特性
  246. 41.1 属性
  247. 41.2 钩子和模板
  248. 41.3 稀疏检出和浅克隆
  249. 41.4 嫁接和替换
  250. 41.5 Git评注
  251. 第9篇 附录
  252. 附录A Git命令索引
  253. A.1 常用的Git命令
  254. A.2 对象库操作相关命令
  255. A.3 引用操作相关命令
  256. A.4 版本库管理相关命令
  257. A.5 数据传输相关命令
  258. A.6 邮件相关命令
  259. A.7 协议相关命令
  260. A.8 版本库转换和交互相关命令
  261. A.9 合并相关的辅助命令
  262. A.10 杂项
  263. 附录B Git与CVS面对面
  264. B.1 面对面访谈录
  265. B.2 Git和CVS命令对照
  266. 附录C Git与SVN面对面
  267. C.1 面对面访谈录
  268. C.2 Git和SVN命令对照
  269. 附录D Git与Hg面对面
  270. D.1 面对面访谈录
  271. D.2 Git和Hg命令对照

作者蒋鑫

类别 图书 / 非虚构

出版社机械工业出版社

出版日期

ISBN9787111349679

提供方华章数媒

标签计算机(1392)软件开发(78)软件工程(32)

喜欢这本书的人也喜欢

来自豆瓣读书的评论16