Git权威指南(《程序员》杂志“2011年度十大最具技术影响力图书”,Git官方维护人范凯联袂推荐)
基本信息
- 作者: 蒋鑫 [作译者介绍]
- 出版社:机械工业出版社
- ISBN:9787111349679
- 上架时间:2011-6-30
- 出版日期:2011 年6月
- 开本:16开
- 页码:595
- 版次:1-1
- 所属分类:
计算机 > 软件工程及软件方法学 > 综合
编辑推荐
Git领域的集大成之作,在广度、深度和实战性上均史无前例
国内顶级Git专家亲自撰写,Git官方维护者等数位专家联袂推荐
推荐阅读
内容简介回到顶部↑
书籍
计算机书籍
《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的比较与命令对照,方便读者查阅。
计算机书籍
《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相关的开源软件的开发或创建,在大量实践中积累了丰富的经验。此外,他还是一位开源软件实践者,作为北京群英汇信息技术有限公司的创始人兼高级顾问,一直从事开源软件的定制以及面向研发团队的项目管理软件的推广和顾问咨询工作,致力于推动开源软件在中国的发展。
.. << 查看详细
.. << 查看详细
目录回到顶部↑
《git权威指南》
前 言
第1篇 初识git
第1章 版本控制的前世和今生/ 2
1.1 黑暗的史前时代/ 2
1.2 cvs—开启版本控制大爆发/ 5
1.3 svn—集中式版本控制集大成者/ 7
1.4 git—linus 的第二个伟大作品/ 9
第2章 爱上 git 的理由/ 11
2.1 每日工作备份/ 11
2.2 异地协同工作/ 12
2.3 现场版本控制/ 13
2.4 避免引入辅助目录/ 15
2.5 重写提交说明/ 15
2.6 想吃后悔药/ 16
2.7 更好用的提交列表/ 17
2.8 更好的差异比较/ 18
2.9 工作进度保存/ 18
2.10 代理svn提交实现移动式办公/ 19
2.11 无处不在的分页器/ 20
前 言
第1篇 初识git
第1章 版本控制的前世和今生/ 2
1.1 黑暗的史前时代/ 2
1.2 cvs—开启版本控制大爆发/ 5
1.3 svn—集中式版本控制集大成者/ 7
1.4 git—linus 的第二个伟大作品/ 9
第2章 爱上 git 的理由/ 11
2.1 每日工作备份/ 11
2.2 异地协同工作/ 12
2.3 现场版本控制/ 13
2.4 避免引入辅助目录/ 15
2.5 重写提交说明/ 15
2.6 想吃后悔药/ 16
2.7 更好用的提交列表/ 17
2.8 更好的差异比较/ 18
2.9 工作进度保存/ 18
2.10 代理svn提交实现移动式办公/ 19
2.11 无处不在的分页器/ 20
前言回到顶部↑
版本控制是管理数据变更的艺术,无论数据变更是来自同一个人,还是来自不同的人(一个团队)。版本控制系统不但要忠实地记录数据的每一次变更,还要能够帮助还原任何一次历史变更,以及实现团队的协同工作等。Git 就是版本控制系统中的佼佼者。
我对版本控制系统的兴趣源自于我的个人知识管理实践,其核心就是撰写可维护的文档,并保存于版本控制系统中。可维护文档的格式可以是 DocBook、FreeMind、reStructuredText 等。我甚至还对 FreeMind 加以改造以便让其文档格式更适合于版本控制系统,这就是我的第一个开源实践:托管于 SourceForge 上的 FreeMind-MMX 项目①。文档书写格式的问题解决之后,就是文档的存储问题了。通过版本控制系统,很自然地就可以实现对文档历史版本的保存,但是如何避免因为版本控制系统瘫痪而导致数据丢失呢?Git 用其崭新的分布式的版本控制设计提供了最好的解决方案。使用 Git,我的知识库不再只有唯一的版本库与之对应,而是可以通过克隆操作分发到不同的磁盘或主机上,克隆的版本库之间通过推送(PUSH)和拉回(PULL)等操作进行同步,数据安全得到了极大的提升。在版本控制系统的忠实呵护下,我的知识库中关于Git的 FreeMind 脑图在日积月累中变得越来越翔实,越来越清晰,最终成为本书的雏形。
版本控制能决定项目的成败,甚至是公司的生死,此言不虚。我在推广开源项目管理工具和为企业提供咨询服务的过程中看到,有很多团队因为版本控制系统管理的混乱导致项目延期、修正的 Bug 重现、客户的问题不能在代码中定位……无论他们使用的是什么版本控制系统(开源的或是商业的)都是如此。这是因为传统的集中式版本控制系统不能有效地管理分支和进行分支间合并。集中管理的版本库只有唯一的分支命名空间,需要专人管理,从而造成分支创建的不自由;分支间的合并要么因为缺乏追踪导致重复合并、引发严重冲突,要么因为版本控制系统本身蹩脚的设计导致分支合并时效率低下和陷阱重重。Git凭借其灵活的设计让项目摆脱分支管理的梦魇。
我的公司也经历过代码管理的生死考验。因为公司的开发模式主要是基于开源软件的二次开发,所以最早在使用SVN(Subversion)做版本控制时,很自然地使用了SVN卖主分支模型来管理代码。随着增加和修改的代码越来越多,我们开发的软件与开源软件上游的偏离也越来越远,当上游有新版本发布时,最早可能只用几个小时就可以将改动迁移过去,但是如果对上游的改动多达几十甚至上百处时,迁移的过程就会异常痛苦,基本上和重新做一遍差不多。那时似乎只有一种选择:不再与上游合并,不再追踪上游的改动,而这与公司的价值观“发动全球智慧为客户创造价值”相违背。迷茫之中,分布式版本控制系统飘然而至,原来版本控制还可以这么做。
我最先尝试的分布式版本控制系统是 Hg(Mercurial),当发现Hg和 MQ(Hg 的一个插件)这一对宝贝儿的时候,我如获至宝。逐渐地,公司的版本库都迁移到了Hg上。但随着新的开发人员的加入,问题又出现了,一个人使用Hg和MQ很好,但多个人使用时则会出现难以协同的问题。于是我们大胆地采用了 Git,并在实践中结合 Topgit 等工具进行代码的管理。再一次,也许是最后一次,我们的代码库迁移到了 Git。
最早认识分布式版本控制,源自于我们看到了众多开源项目的版本控制系统大迁移,这场迁移还在进行中。
MoinMoin 是我们关注的一个开源的维基软件,2006 年,它的代码库从SVN迁移到了Hg。
Mailman 同样是我们关注的一个开源邮件列表软件。2007 年,它的代码库从SVN迁移到了 Bazaar。
Linux 采用Git作为版本控制系统(一点都不奇怪,因为Git就是 Linus Torvalds 开发的)。
Android 是目前最为流行的开源项目之一,因为潜在市场巨大,已经吸引了越来越多的开发者进入这个市场,而Android就是用Git维护的。
当开源软件纷纷倒向分布式版本控制系统大旗(尤其是Git)的时候,很多商业公司也在行动了,尤其是涉及异地团队协同和Android核心代码定制开发的公司。对于那些因保守而不敢向Git靠拢的公司,Git也可以派上用场,因为Git可以与现在大多数公司部署的SVN很好地协同,即公司的服务器是 SVN,开发者的客户端则使用 Git。相信随着Git的普及,以及公司在代码管理观念上的改进,会有更多的公司拥抱 Git。
本书的组织
本书共分为9篇,前8篇是正文,一共41章,第9篇是附录。
第1篇讲解了Git的相关概念,以及安装和配置的方法,共3章。第1章介绍了版本控制的历史。第2章用十几个小例子介绍了Git的一些闪亮特性,期待这些特性能够让你爱上Git。第3章则介绍了Git在三种主要操作系统平台上的安装和使用。在本书的写作过程中,我70%的时间使用的是Debian Linux操作系统,Linux用户可以毫无障碍地完成本书列举的所有实践操作。在2010年年底,当得知有出版社愿意出版这本书后,我向妻子阿巧预支了未来的部分稿费购买了我的第一台 MacBook Pro,于是本书就有了较为翔实的如何在Mac OS X下安装和使用Git的内容,以及在本书第22章中介绍的关于Topgit在Mac OS X上的部署和改进相关的内容。在本书的编辑和校对过程中因为要使用 Word 格式的文稿,所以本书后期的很多工作是在运行于 VirtualBox 下的 Windows 虚拟机中完成的,即使是使用运行于资源受限的虚拟机中的 Cygwin,Git 依然完美地完成了工作。
第2篇和第3篇详细讲解了Git的使用方法,是本书的基础和核心,大约占据了全书40%的篇幅。这两篇的内容架构方式是我在进行SVN培训时就已经形成的习惯,即以“独奏”指代一个人的版本控制所要讲述的知识点,以“和声”指代团队版本控制涉及的话题。在第2篇“Git独奏”中,本书将Git的设计原理穿插在各章之中讲解,因为唯有了解真相(Git原理),才有可能自由(掌握Git)。在第3篇“Git和声”中,本书讲解了团队版本控制必须掌握的里程碑和分支等概念,以及如何解决合并中遇到的冲突。
第4篇细致地讲解了Git在实际工作中的使用模式。除了传统的集中式和分布式使用模式之外,第22章还介绍了 Topgit 在定制开发中的应用,这也是我公司在使用Git时采用的最主要的模式。这一章还讲解了我对 Topgit 所做的部分改进,相关的具体介绍最早出现在我公司的博客上①。第23~25章介绍了多版本库协同的不同方法,其中第25章介绍的一个独辟蹊径的解决方案是由 Android 项目引入的名为repo的工具实现的,我对其进行改造后可以让这个工具脱离Gerrit代码审核服务器,直接操作Git服务器。第26章介绍了git-svn这一工具,该工具不但可以实现从SVN版本库到Git版本库的迁移,还可以实现以Git作为客户端向SVN提交。
第5篇介绍了Git服务器的架设。本篇是全书最早开始撰写的部分,这是因为我给客户做的Git培训讲义的相关内容不够详细,于是应客户要求针对Gitolite等服务器的架设撰写了详细的管理员手册,即本书的第30章。第32章介绍了Android项目在Git管理上的又一大创造,即Gerrit,它实现了一个独特的集中式Git版本库管理模型。
第6篇讲解了Git版本库的迁移。其中第34章详细介绍了从CVS版本库到Git版本库的迁移,其迁移过程也可以作为从CVS到SVN迁移的借鉴。本篇还介绍了从SVN和Hg版本库到Git的迁移。对于其他类型的版本库,介绍了一个通用的需要编程来实现的方法。在本篇的最后还介绍了一个Git版本库整理的利器,可以理解为一个Git库转换为另外一个Git库的方法。
第7篇是关于Git的其他应用,其主要内容介绍了我在etckeeper启发下开发的一款备份工具 Gistore,该工具可以运行于Linux和Mac OS X下。
第8篇是Git杂谈。其中第40章的内容可供跨平台的项目组借鉴。第41章介绍了一些在前面没有涉及的Git的相关功能和特性。
我对版本控制系统的兴趣源自于我的个人知识管理实践,其核心就是撰写可维护的文档,并保存于版本控制系统中。可维护文档的格式可以是 DocBook、FreeMind、reStructuredText 等。我甚至还对 FreeMind 加以改造以便让其文档格式更适合于版本控制系统,这就是我的第一个开源实践:托管于 SourceForge 上的 FreeMind-MMX 项目①。文档书写格式的问题解决之后,就是文档的存储问题了。通过版本控制系统,很自然地就可以实现对文档历史版本的保存,但是如何避免因为版本控制系统瘫痪而导致数据丢失呢?Git 用其崭新的分布式的版本控制设计提供了最好的解决方案。使用 Git,我的知识库不再只有唯一的版本库与之对应,而是可以通过克隆操作分发到不同的磁盘或主机上,克隆的版本库之间通过推送(PUSH)和拉回(PULL)等操作进行同步,数据安全得到了极大的提升。在版本控制系统的忠实呵护下,我的知识库中关于Git的 FreeMind 脑图在日积月累中变得越来越翔实,越来越清晰,最终成为本书的雏形。
版本控制能决定项目的成败,甚至是公司的生死,此言不虚。我在推广开源项目管理工具和为企业提供咨询服务的过程中看到,有很多团队因为版本控制系统管理的混乱导致项目延期、修正的 Bug 重现、客户的问题不能在代码中定位……无论他们使用的是什么版本控制系统(开源的或是商业的)都是如此。这是因为传统的集中式版本控制系统不能有效地管理分支和进行分支间合并。集中管理的版本库只有唯一的分支命名空间,需要专人管理,从而造成分支创建的不自由;分支间的合并要么因为缺乏追踪导致重复合并、引发严重冲突,要么因为版本控制系统本身蹩脚的设计导致分支合并时效率低下和陷阱重重。Git凭借其灵活的设计让项目摆脱分支管理的梦魇。
我的公司也经历过代码管理的生死考验。因为公司的开发模式主要是基于开源软件的二次开发,所以最早在使用SVN(Subversion)做版本控制时,很自然地使用了SVN卖主分支模型来管理代码。随着增加和修改的代码越来越多,我们开发的软件与开源软件上游的偏离也越来越远,当上游有新版本发布时,最早可能只用几个小时就可以将改动迁移过去,但是如果对上游的改动多达几十甚至上百处时,迁移的过程就会异常痛苦,基本上和重新做一遍差不多。那时似乎只有一种选择:不再与上游合并,不再追踪上游的改动,而这与公司的价值观“发动全球智慧为客户创造价值”相违背。迷茫之中,分布式版本控制系统飘然而至,原来版本控制还可以这么做。
我最先尝试的分布式版本控制系统是 Hg(Mercurial),当发现Hg和 MQ(Hg 的一个插件)这一对宝贝儿的时候,我如获至宝。逐渐地,公司的版本库都迁移到了Hg上。但随着新的开发人员的加入,问题又出现了,一个人使用Hg和MQ很好,但多个人使用时则会出现难以协同的问题。于是我们大胆地采用了 Git,并在实践中结合 Topgit 等工具进行代码的管理。再一次,也许是最后一次,我们的代码库迁移到了 Git。
最早认识分布式版本控制,源自于我们看到了众多开源项目的版本控制系统大迁移,这场迁移还在进行中。
MoinMoin 是我们关注的一个开源的维基软件,2006 年,它的代码库从SVN迁移到了Hg。
Mailman 同样是我们关注的一个开源邮件列表软件。2007 年,它的代码库从SVN迁移到了 Bazaar。
Linux 采用Git作为版本控制系统(一点都不奇怪,因为Git就是 Linus Torvalds 开发的)。
Android 是目前最为流行的开源项目之一,因为潜在市场巨大,已经吸引了越来越多的开发者进入这个市场,而Android就是用Git维护的。
当开源软件纷纷倒向分布式版本控制系统大旗(尤其是Git)的时候,很多商业公司也在行动了,尤其是涉及异地团队协同和Android核心代码定制开发的公司。对于那些因保守而不敢向Git靠拢的公司,Git也可以派上用场,因为Git可以与现在大多数公司部署的SVN很好地协同,即公司的服务器是 SVN,开发者的客户端则使用 Git。相信随着Git的普及,以及公司在代码管理观念上的改进,会有更多的公司拥抱 Git。
本书的组织
本书共分为9篇,前8篇是正文,一共41章,第9篇是附录。
第1篇讲解了Git的相关概念,以及安装和配置的方法,共3章。第1章介绍了版本控制的历史。第2章用十几个小例子介绍了Git的一些闪亮特性,期待这些特性能够让你爱上Git。第3章则介绍了Git在三种主要操作系统平台上的安装和使用。在本书的写作过程中,我70%的时间使用的是Debian Linux操作系统,Linux用户可以毫无障碍地完成本书列举的所有实践操作。在2010年年底,当得知有出版社愿意出版这本书后,我向妻子阿巧预支了未来的部分稿费购买了我的第一台 MacBook Pro,于是本书就有了较为翔实的如何在Mac OS X下安装和使用Git的内容,以及在本书第22章中介绍的关于Topgit在Mac OS X上的部署和改进相关的内容。在本书的编辑和校对过程中因为要使用 Word 格式的文稿,所以本书后期的很多工作是在运行于 VirtualBox 下的 Windows 虚拟机中完成的,即使是使用运行于资源受限的虚拟机中的 Cygwin,Git 依然完美地完成了工作。
第2篇和第3篇详细讲解了Git的使用方法,是本书的基础和核心,大约占据了全书40%的篇幅。这两篇的内容架构方式是我在进行SVN培训时就已经形成的习惯,即以“独奏”指代一个人的版本控制所要讲述的知识点,以“和声”指代团队版本控制涉及的话题。在第2篇“Git独奏”中,本书将Git的设计原理穿插在各章之中讲解,因为唯有了解真相(Git原理),才有可能自由(掌握Git)。在第3篇“Git和声”中,本书讲解了团队版本控制必须掌握的里程碑和分支等概念,以及如何解决合并中遇到的冲突。
第4篇细致地讲解了Git在实际工作中的使用模式。除了传统的集中式和分布式使用模式之外,第22章还介绍了 Topgit 在定制开发中的应用,这也是我公司在使用Git时采用的最主要的模式。这一章还讲解了我对 Topgit 所做的部分改进,相关的具体介绍最早出现在我公司的博客上①。第23~25章介绍了多版本库协同的不同方法,其中第25章介绍的一个独辟蹊径的解决方案是由 Android 项目引入的名为repo的工具实现的,我对其进行改造后可以让这个工具脱离Gerrit代码审核服务器,直接操作Git服务器。第26章介绍了git-svn这一工具,该工具不但可以实现从SVN版本库到Git版本库的迁移,还可以实现以Git作为客户端向SVN提交。
第5篇介绍了Git服务器的架设。本篇是全书最早开始撰写的部分,这是因为我给客户做的Git培训讲义的相关内容不够详细,于是应客户要求针对Gitolite等服务器的架设撰写了详细的管理员手册,即本书的第30章。第32章介绍了Android项目在Git管理上的又一大创造,即Gerrit,它实现了一个独特的集中式Git版本库管理模型。
第6篇讲解了Git版本库的迁移。其中第34章详细介绍了从CVS版本库到Git版本库的迁移,其迁移过程也可以作为从CVS到SVN迁移的借鉴。本篇还介绍了从SVN和Hg版本库到Git的迁移。对于其他类型的版本库,介绍了一个通用的需要编程来实现的方法。在本篇的最后还介绍了一个Git版本库整理的利器,可以理解为一个Git库转换为另外一个Git库的方法。
第7篇是关于Git的其他应用,其主要内容介绍了我在etckeeper启发下开发的一款备份工具 Gistore,该工具可以运行于Linux和Mac OS X下。
第8篇是Git杂谈。其中第40章的内容可供跨平台的项目组借鉴。第41章介绍了一些在前面没有涉及的Git的相关功能和特性。
媒体评论回到顶部↑
2009年9月,我出版了一本针对日本读者的Git专著,当Linus收到我赠送的签名本时,他对我说:“除了截图和命令行示例外,其他我什么也看不懂”(Linus不懂日文)。因为同样的原因,虽然我不能了解蒋鑫这本书的全部内容,但是我可以看出这本书涵盖了非常广泛的主题,并且可以看出蒋鑫对这本书的用心。我非常高兴能够看到这本书的出版,感谢向世界传播Git。——Junio C Hamano Git维护者(2005年7月至今)
仔细拜读了本书前三篇共20章的内容,感觉这本书极好。作者在软件版本控制系统方面有超过10年的经验,对版本控制系统有非常深入的认识。尤为难得的是,本书文笔很流畅,虽然是技术书籍,但是作者娓娓道来,阅读体验很好。Git的学习门槛较高,包括我们公司在内的很多企业都将版本控制系统转向了Git,强烈推荐大家看一看。——范凯(Robbin) CSDN平台开发总监/ITeye(www.iteye.com)创始人
这是我读过的最好的关于Git的书。将复杂的Git解释得清晰而透彻绝非易事,蒋鑫做到了,更让人惊喜的是,他还分享了大量的经验总结。我几年来累积下来的诸多疑惑都在读罢该书后一一得以解开。如果你正在使用,或者打算使用Git,本书当然是必备的。你也可以抱着Subversion或CVS不放,不过,如果哪一天有人拿起这本书敲你的头时可别怪我没提醒过你。——许晓斌(Juven Xu) 资深Maven专家/著有畅销书《Maven实战》
Git是当前开源社区最流行的版本控制系统,代表了版本控制的未来。每一位有志于从事软件开发的学习者都应该学习和掌握这一工具,它不但可用于追踪编程者的思考过程,还是打开开源软件世界的金钥匙,更可以通过版本控制掌握与他人协同工作的技能。本书是一本耐读的原创著作,因为其涵盖的内容之广足以让每一位程序员在成长的不同阶段都可以从中汲取丰富营养。—— 冯铃 清华大学计算机科学与技术系“长江学者”兼特聘教授
目前市面上关于Git的书不在少数,但迄今为止,国内外还没有一本书能在广度和深度上达到本书的水平,也许在今后相当长的一段时间内也不会有。如果你是一位软件开发者,强烈建议你学习并使用Git;如果你要学习Git,本书无疑是你最佳的选择。——徐继哲 哲思社区(http://www.zeuux.org/)创始人
仔细拜读了本书前三篇共20章的内容,感觉这本书极好。作者在软件版本控制系统方面有超过10年的经验,对版本控制系统有非常深入的认识。尤为难得的是,本书文笔很流畅,虽然是技术书籍,但是作者娓娓道来,阅读体验很好。Git的学习门槛较高,包括我们公司在内的很多企业都将版本控制系统转向了Git,强烈推荐大家看一看。——范凯(Robbin) CSDN平台开发总监/ITeye(www.iteye.com)创始人
这是我读过的最好的关于Git的书。将复杂的Git解释得清晰而透彻绝非易事,蒋鑫做到了,更让人惊喜的是,他还分享了大量的经验总结。我几年来累积下来的诸多疑惑都在读罢该书后一一得以解开。如果你正在使用,或者打算使用Git,本书当然是必备的。你也可以抱着Subversion或CVS不放,不过,如果哪一天有人拿起这本书敲你的头时可别怪我没提醒过你。——许晓斌(Juven Xu) 资深Maven专家/著有畅销书《Maven实战》
Git是当前开源社区最流行的版本控制系统,代表了版本控制的未来。每一位有志于从事软件开发的学习者都应该学习和掌握这一工具,它不但可用于追踪编程者的思考过程,还是打开开源软件世界的金钥匙,更可以通过版本控制掌握与他人协同工作的技能。本书是一本耐读的原创著作,因为其涵盖的内容之广足以让每一位程序员在成长的不同阶段都可以从中汲取丰富营养。—— 冯铃 清华大学计算机科学与技术系“长江学者”兼特聘教授
目前市面上关于Git的书不在少数,但迄今为止,国内外还没有一本书能在广度和深度上达到本书的水平,也许在今后相当长的一段时间内也不会有。如果你是一位软件开发者,强烈建议你学习并使用Git;如果你要学习Git,本书无疑是你最佳的选择。——徐继哲 哲思社区(http://www.zeuux.org/)创始人







点击看大图






加载中...
