一本面向开发者的Git书《Git学习指南》
如果你在某一团队中从事开发工作,希望了解如何才能有效地使用Git,那么这本书就是一个正确的选择。本书既不是那种偏重于理论的大部头,也不是一本面面俱到的参考书。我们并不打算解释所有的Git命令(这里可有100多条命令呢)及其全部选项(有些命令甚至有50多个选项)。相反,我们打算在这本书中教你如何在典型的项目环境中使用Git,例如,如何建立起一个Git项目、如何创建一个Git发行版等。
京东纸版 [限时半价电子版] (mobi+epub+在线阅读)(http://www.epubit.com.cn/book/details/4267)
本书相关内容
你将在本书中看到以下内容。
入门教程:这部分会重点演示每一个重要Git命令的用法,篇幅不会超过十几页。
技术介绍:在这部分不足百页的篇幅中,你将要学习如何使用Git处理一个团队开发中的各项事务。我们将会用大量的实例为你演示那些主要Git命令的使用方式。此外我们还会为你解释其中的基本概念,例如提交、版本库、分支、合并、重订等,以帮助你了解Git的具体工作方式。在这个过程中,你还会不时地看到一些相关的提示与技巧,你可能未必每天都会用到这些技巧,但它们有时还是会非常有用的。
工作流:这里的工作流主要指的是你在项目中使用Git的实用场景,例如创建一个项目的发行版等。而对于每个工作流,我们会从以下几项内来描述其目标场景。
- 解决的是什么问题。
- 需要增加什么必要条件。
- 解决问题的人以及解决的时间。
“解决方案选用理由”部分:每个工作流中通常都只能有一个具体的解决方案。在Git中,经常会存在着多个非常不同的解决路径,这些路径都可以让我们达成相同的目标。在每一个工作流章节的最后一部分中,我们都会详细解释为什么要选用眼下这个解决方案。另外。我们还会提一下相关的可变因素,以及我们因此可能采取的替代方案。
“分步”指令:这是一组常用命令序列,例如像移动某个分支就属于一条既定的“分步”指令。
为什么要用Git
Git允许我们利用分支来开展工作:在一个由多个开发者并行协作的项目中,开发者各自会有很多不同的开发路线。Git的优势在于,它提供了一整套针对开发链的重新整合工具,以便我们对其进行合并、变基和捡取等操作。
工作流上的灵活性:Git非常灵活。不但单一开发者可以用它,敏捷团队也可以找到使用它工作的合适方法,甚至一个由众多开发者在不同的工作地点参与的大型国际项目也可以用它开发出一个很好的工作流。
适合奉献合作:大多数开源项目所依靠的都是开发者的无私奉献。因此,让这种无私奉献的方式尽可能地简单化是一件非常重要的事。而这在一个集中式的版本控制系统中通常是很难做到的,因为我们不可能让所有人都有权限去写版本库。但如果我们使用Git,那么每个人都先可以克隆一个独立的工作版本库,然后再对其进行后续的改动。
高性能:Git在处理拥有许多文件且历史悠久的项目时速度也依然是非常快的。例如,使用Git将Linux内核源码的当前版本切换到6年前的旧版本时,在一台MacBook Air上所需的时间不到1分钟。考虑这两个版本之间有着超过200000次的提交和40000个更改文件,这已经足以让人印象深刻了。
强大的抗故障和抗攻击能力:由于项目历史被分散存储在多个分布式版本库中,因此数据严重流失的可能性不大。再加上版本库中有着巧妙简单的数据结构,这确保了其中的数据即使在遥远的未来也仍然会被正确地解释。而且,它还使用了统一的加密校验,这使得攻击者难以对版本库进行篡改。
离线开发与多点开发:分布式的体系结构可以使得离线开发或者边旅行边开发的方式变得非常容易。而且该结构在多点开发模式下,我们既不需要设置中央服务器,也不需要固定的网络连接。
强大的开源社区:除官方提供的详细文档外,你还可以在该社区找到无数相关的手册、论坛、维基网站等,另外还有各种工具生态系统、托管平台、出版物、服务以及针对各个开发环境的插件,整个社区都正在茁壮成长。
可扩展性:Git为用户提供了许多实用命令,其中包括了能使我们更便于直接访问其远程版本库的命令。这可以让Git变得非常灵活,这种灵活性将允许其各种独立应用提供比默认的Git版本更为强大的功能。
推荐另一本需要进行版本控制的开发团队成员阅读的Git《Git版本控制管理》(第2版)