第一图书网

Git权威指南

蒋鑫 机械工业出版社华章公司
出版时间:

2011-6  

出版社:

机械工业出版社华章公司  

作者:

蒋鑫  

页数:

595  

Tag标签:

无  

前言

版本控制是管理数据变更的艺术,无论数据变更是来自同一个人,还是来自不同的人(一个团队)。版本控制系统不但要忠实地记录数据的每一次变更,还要能够帮助还原任何一次历史变更,以及实现团队的协同工作等。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。

内容概要

  《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相关的开源软件的开发或创建,在大量实践中积累了丰富的经验。此外,他还是一位开源软件实践者,作为北京群英汇信息技术有限公司的创始人兼高级顾问,一直从事开源软件的定制以及面向研发团队的项目管理软件的推广和顾问咨询工作,致力于推动开源软件在中国的发展。

书籍目录

前言
第1篇 初识Git
 第1章 版本控制的前世和今生
 第2章 爱上Git的理由
 第3章 Git的安装和使用
第2篇 Git独奏
 第4章 Git初始化
 第5章 Git暂存区
 第6章 Git对象
 第7章 Git重置
 第8章 Git检出
 第9章 恢复进度
 第10章 Git基本操作
 第11章 历史穿梭
 第12章 改变历史
 第13章 Git克隆
 第14章 Git库管理
第3篇 Git和声
 第15章 Git协议与工作协同
 第16章 冲突解决
 第17章 Git里程碑
 第18章 Git分支
 第19章 远程版本库
 第20章 补丁文件交互
第4篇 Git协同模型
 第21章 经典Git协同模型
 第22章 Topgit协同模型
 第23章 子模组协同模型
 第24章 子树合并
 第25章 Android式多版本库协同
 第26章 Git和SVN协同模型
第5篇 搭建Git服务器
 第27章 使用http协议
 第28章 使用Git协议
 第29章 使用SSH协议
 第30章 Gitolite服务架设
 第31章 Gitosis服务架设
 第32章 Gerrit代码审核服务器
 第33章 Git版本库托管
第6篇 迁移到Git
 第34章 CVS版本库到Git的迁移
 第35章 更多版本控制系统的迁移
第7篇 Git的其他应用
 第36章 etckeeper
 第37章 Gistore
 第38章 补丁中的二进制文件
 第39章 云存储
第8篇 Git杂谈
 第40章 跨平台操作
 第41章 Git的其他特性
第9篇 附录
附录

媒体关注与评论

009年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/)创始人


编辑推荐

《Git权威指南》编辑推荐:Git领域的集大成之作,在广度、深度和实战性上均史无前例;国内顶级Git专家亲自撰写,Git官方维护者等数位专家联袂推荐。

图书封面

图书标签Tags

广告

下载页面


Git权威指南 PDF格式下载



Git权威指南(《程序员》杂志“2011年度十大最具技术影响力图书”,Git官方维护人和ITeye创始人范凯联袂推荐)


接触版本控制系统是从SVN开始,使用SVN的合并是一件痛苦的事情。同时会在项目的每个文件夹下面生产.svn文件夹,使项目在部署非常麻烦。后来接触的了git。但也只限于基本的功能。这本书详细的介绍git各种使用。想要什么功能的时候查书就好了,不用通过谷歌百度,筛选一大推信息。向需要版本控制系统的和想深入了解git的推荐本书。


讲的内容挺详细,对当前各个版本控制工具进行了分析,git的使用讲的也不错,学习中


初次接触此书,实难相信是国内作者原创的书籍。

经过1个月的认真阅读和实际跟随操作,发现自己不再害怕Git,而且自己现在从事Android开发,又在本书中了解了Gerrit和Repo,实在是帮助甚大。后又买几本,送给以前的几家公司的经理,好东西是需要分享的!

衷心祝愿作者身体健康、工作顺利!


终于到货,最近花点时间读读。
git,linus的又一大杰作,这本书应该适合PM和版本管理人员。


通过这本书了解了git的强大威力,svn无法企及啊。


这本书还是很不错的,不仅讲了GIT的使用,还结合了GIT的实现,使读者对GIT的了解不仅限于使用。另外,对于其他相关的知识也做了很有用的讲解。受益匪浅。


很不错我一本书,推荐给想学git的人


git工具很强大,以前接触过了,买本书再深入学习一下


很容易入手,就是命令难记啊..我还没搭建成功GIT呢


git的书这一本就够你用了!强烈推荐


Git中的经典呀


国产git书,比较好的了


看看国人写的git书,实战经验,有参考作用。


GIT没说的,这书写的也是没说的


不错,值得一看,学习Git的必备书籍


这个书很新鲜,版本控制很重要,是很值得阅读


这本书我本来期待值最多和程序员修炼里的svn一个水准的,没想到写得如此深入。


帮公司买的书,很详细的操作指南。
对于图书当当应该默认开出发票。


感觉国内的这类好书不多,由于项目需要我在同事的推荐下买了,看了一半了。由浅入深,给人很多思考和启发,很多编程思想值得学习。


买了,先翻了翻,内容很好!推荐!


这本书确实如推荐所述,绝对是本好书。值得你拥有!不信就去实体店翻翻!


对研发开发人员有实际的帮助


很像是翻译的国外经典作品,但是,确实确是是国人的作品。感觉作者的眼界很开阔,没有拘泥于一点,这种大气的风格在国人计算机类的作品中不是很多见。


很详细,很容易就部署好了


给公司用的,同类书很少


买回来已经很久了,一直没时间看,感觉还是值得拥有一本这样的书,因为以后要搞安卓开发了


男友是程序员,很爱看这些书,我也不懂,他喜欢就好


很少见的中国大陆人写的书中的精品,现在七拼八凑的书太多了


今天下午刚刚拿到书,虽然现在只看了前几章,已经能感受到作者的气息。非常不错


还没来得及看,粗略的看了下,纸张非常的好,支持当当


价格比书店便宜很多,内容也不错,经济实用,值得购买


内容非常好的,不错,


内容有点难度,呵呵


排版印刷和内容质量都很不错!


男朋友学习用书,经典书籍,很好。


很喜欢的一本书 满意


很有帮助的一本书哦


888个赞!


加分,加一分


果然不愧是好书!


全威


正需要用呢


帮同学买的,他们在用表示,还不错


非常不错的书,适合新手。


神级好书


看了电子版的,不错就来买本。


慕名而来 正在拜读 希望能快快进步。!。。。!


不错,不多见的中文资料


送货挺快,包装很专业


讲的挺好的,之前习惯了svn的管理,现在git可以解决所有文件下的.svn文件了.


介绍了git的基本命令和高级命令,提供了部署和应用方案,对于学习git很有帮助


书本拿到手里好厚啊,介绍的真详细,git的好参考书


关于git的知识点讲得比较细,对于初学git的同学未必合适


全面学习GIT的搭建使与的好书


git的前世今生


内容很详细,看上分布式版本管理。但好像较难说服不是很喜爱技术的人使用。


关于gitolite和网上介绍的一样,不是很详细,其它的还可以,但也不全面。


内容不错,讲得比较详细。


工具,赞


从书得内容来看非常全面,是本好书,不过就是从来的书,压得很皱,好像还发现有一页有破洞,遗憾啊


书的内容是很不错可惜书没切割好


内容全面性一般


在国人写的书中算是一本很好的了


对于入门或者深入都有帮助


物流太慢物流太慢物流太慢物流太慢物流太慢


送货速度 还可以 比预计的晚了一天 还没有开 应该不错


纸张有些bug,多了一些角页。书写的很好,值得一读


看目录,应该不错


1:很多命令直接使用,看的不明不白,查找半天才搞懂。
2:GIT对象描述的不是很清楚,至少比Pro-get差多了.这个是GIT的基础,不搞清楚这个,很多东西都是糊里糊涂的。
3:对象描述的时候老是喜欢引用SHA1 ID,搞的有时候查半天才反应过来。搞个图什么的让我们一看就清楚不行吗?
4:图表太少,老是喜欢引用输出结果,这样太偷懒了。
总之,就是看的累。
当然要承认,书的内容还是比较全的。


书本内容很丰富,看了100来页,学到很多知识,后面的还得慢慢啃;
这个Git权威指南不错;


在书里还是学到了东西,不过这本书对其它的git相关工具描述的篇幅太多了。


还行吧, 废话有点多, 不过挺详细的


同事是个高手,翻看了一下就说,你买这LJ书干嘛,太汗了~
我看了一下,作为工具书用来查询还是可以的。


现在国内介绍Git的书籍很少,这本书非常值得推荐。


不知道用的什么油墨印刷的,反正一抹就擦出痕迹来,不推荐购买。书的内容看下来还不错。


电子书也付了50块钱,但是看看里面的排版,很多命令空格都没有,还有干脆截图了事的,这个敷衍的状态怎么让人相信亚马逊能够把kindle在中国运营好


书非常沉,可见纸张质量不错


书本身没的说,国内Git方面应该来说是最好的,只是送来时的书看起来较旧,好像掉土里


因为这本书太厚了,稍微有点墨迹。比如12章讲如何修改历史,讲的电影什么都来了,第一遍看的时候没看下去,那章还是很重要的。工具书,还是喜欢直切主题的。如果只是想学习如何使用Git客户端,建议阅读GitPro,网上有免费中文版。这本书优点就是全面,你能想到跟Git有关的东西,都写了!


用git做代码管理很方便,这本书写的很好,5分评价


kindle 版里面的命令一塌糊涂,该空格的地方都没空格,初学的话看得一头雾水。不知道是不是扫描出来的,然后又不整理编辑一下。总之要买还是买纸版的吧。再说内容,跟老外的著作还是差距极大。不值这个价!能退货不?


内容组织散了点,像流水账。另外排版有问题,很多实例的空格都被忽略掉了。


差点上当购买了 有木有


书不错,有深度,不知道能不能看完


书的装订质量还可以,内容 在国内 目前来看应该是 很不错的


国内难得遇到的git好书。我用gitlab了,可以拿来参考


东一榔头西一锤子的讲,还在章节内用大量自己的缩写语句。即不系统,也不生动。看得累得慌。不权威,也没有从本书上获得阅读的乐趣。不系统,想用的时候你都没办法从目录上找到点在哪!有评价说全面的,我想有那些硬啃的时间,换其他形式学习,比如说网页一步步教你熟悉的那个教程,比这个管用多了。... 阅读更多


此书刚刚出版的时候就购买来纸质版本,很厚的一本书,内容十足!但是由于操作实战性很强,实在是不适合抱着一本书操作。所以草草看翻了两章就没再继续看。今天看到出版了Kindle版,果断入手一本,直接在Mac客户端上看,同时进行实战操作,实在上方便多了!


在看这书之前,看了Pro GIT,也是一本不错的GIT入门级书籍。看了本书之后,感觉更容易理解,实战性更强,覆盖内容广泛,难得的好书!!


觉得很喜欢, 很好的讲了git的内容


Git权威指南


还行吧,速度挺快


东西超赞


正式我需要的


不错的书,git repo gerrit


相关图书