编辑点评:
精通Git第二版全面介绍Git进行版本管理的基础和进阶知识。全书共10章,内容由浅入深,展现了普通程序员和项目经理如何有效利用Git提高工作效率,掌握分支概念,灵活地将Git用于服务器和分布式工作流,如何将开发项目迁移到Git,以及如何高效利用GitHub。
编辑推荐
高效的版本控制是成功开发软件项目的关键。自2005年诞生以来,Git以其分布式特点和对非线性开发的强有力支持,成为了许多软件项目的版本控制系统。本书不仅是Git日常操作指南,而且深入剖析了Git的内部原理,能有效帮助程序员提升软技能。
如果你刚刚启程探索Git,本书对于Git的用法、基本命令和分支机制的讲解将助你轻松入门、不走弯路。
如果你在Git之路上已经走了一些时日,本书关于Git服务器、配置文件和钩子系统的内容将为你补充继续前行所需的能量。
如果你不得不同时使用Git和其他版本控制系统,本书会教你如何将Git作为客户端来轻松应对此种情景。
作者简介
【作者简介】
Scott Chacon
GitHub联合创始人,曾任GitHub首xi信息官,现任在线教育创业公司Chatterbug的首xi执行官。在GitHub工作的7年里,他负责维护Git主页git-scm.com,并在许多技术大会上发表过演讲,以此传播Git文化和开源精神。GitHub ID:schacon。
Ben Straub
软件开发者,曾就职于GitHub,参与开发了Libgit2开发包以及GitHub for Windows客户端,另著有《GitHub实践》。GitHub ID:ben。
【译者简介】
门佳
GNU/Linux深度用户,喜欢溯本求源,挖掘技术背后的来龙去脉,对程序语言设计理论、编译技术、操作系统设计与实现、Web开发等领域均有涉猎,译著包括《Linux Shell脚本攻略》《TCP Sockets编程》《精通JavaScript(第2版)》《Linux命令行与shell脚本编程大全(第3版)》等。
刘梓懿
ThoughtWorks高级软件工程师,***AWS认证架构师,曾为多个世界知名客户提供软件交付和咨询服务,在大型组织的云架构应用、持续交付、分层自动化测试体系建设和DevOps转型等方面拥有丰富的实践经验。GitHub ID:richardzone。
关于版本控制
什么是“版本控制”,为什么需要它?版本控制是一套系统,该系统按时间顺序记录某一个或一系列文件的变更,让你可以查看其以前的特定版本。本书以软件源代码文件为例讲解了版本控制的方法,但实际上这种方法对于计算机上几乎所有文件类型都适用。
如果你是一位平面或网页设计师,那么可能(几乎必然)想要保存一幅图片或一个布局的每一个版本,这时使用版本控制系统(VCS)就是非常明智的选择。使用版本控制系统,你可以将文件或整个项目恢复到先前的状态,还可以比对文件随时间的变更,查看什么人最后做出的更改可能会造成麻烦,谁在何时引入了一个问题,等等。使用版本控制系统通常意味着,如果你把事情搞砸了或是弄丢了文件,都可以轻而易举地恢复原状。而且,你要为所有这些福利付出的开销也很低。
Git简史
同许多伟大的事物一样,Git的诞生伴随着些许颠覆式的创新以及激烈的争论。
Linux内核是一个超大规模的开源软件项目。在Linux内核大部分的维护时间里(1991-2002),其更新都是通过传递补丁和归档文件来实现的。在2002年,Linux内核项目开始采用一个叫作Bitkeeper的专有分布式版本控制系统。
2005年,Linux内核开发者社区与BitKeeper的研发公司关系破裂,该公司收回了软件的免费使用权。这促使Linux开发社区(尤其是Linux之父林纳斯·托瓦兹)在汲取BitKeeper使用过程中的经验教训的基础上,开发出了自己的版本控制系统。新系统的一些目标如下:口速度快
设计简洁
对于非线性开发强有力的支持(数以千计的并行分支)
完全的分布式设计
能够有效地处理像Linux内核这种大型项目(速度以及数据量)
自2005年诞生以来,Git不断发展,日趋成熟易用,同时仍保留着最初的这些品质。它的速度飞快,处理大型项目时效率极高,有着一套令人惊叹的非线性开发分支系统(见第3章)
Comments