《Git学习指南》_1
《Git学习指南》_2
《Git学习指南》_3
内容简介:
图书在版编目(C1P)数据
Git学习指南/(德)普菜贝
斯拉赫曼著
凌杰,姜楠译.一北京:人民
2016.12
ISBN978-7-115-43676-4
①G…1.①普…②斯…③凌…④姜…I.①
软件工具一程序设计Ⅳ.①TP311.56
中guo版本图书馆CIP数据核字(2016)第251078号
版权声明
Simplified Chinese translation copyright O 2016 by Posts and Telecommunications Press.
ALL RIGHTS RESERVED
Git: Distributed Version Control Fundamentals and Workflows by Rene Preibel and Biem Stachmann
Copyright o 2014 by Rene Preibel and Bjorn Stachmann
本书中文简体版由作者 Rene Preibel和 Bjorn Stachmann授权人民邮电出版社出版。未经出版者书面许可
对本书的任何部分不得以任何方式或任何手段复制和传播
版权所有,侵权必究
ct J Rene Preibel Bjorn Stachmann
凌杰姜楠
责任编辑陈康
责任印制焦志炜
人民邮电出版社出版发
北京市丰台区成寿寺路11号
编100164电子卸件315zptpress.com.cn
址http:/www.ptpress.com.cn
北京鑫正大印刷有限公司印
印张:1425
字数:270千字
2016年12月第1版
印数:1-3000册
2016年12月北京第1次印期
著作权合同登记号图字:01-2015-8291号
定价:49.00元
读者服务热线 010)81055410印装质量热线 010)81055316
反盗版热线 010)81055315
内容提要
Git是一款免费、开源的分布式版本控制系统,也是当今最为流行的版本控制系统之
在众多的项目开发中普遍使用,得到程序员和工程师的欢迎和喜爱
本书是一本面向专业开发者的图书。全书分为26章,从基础概念讲起,依次向读者介绍
了有关Git的各种操作和使用技巧,不仅将提交、版本库、分支、合并等命令讲解到位
介绍了工作流、基于分支的开发、二分法排错、发行版交付、项目的拆分与合并、项目的迁
移等内容
本书适合从事项目开发的专业人士阅读,想要学习Gi的读者也可以选用
欢迎阅读本书
在前言中,我们将会为你介绍Git究竟能做什么,以及为什么你会需要这本书
为什么要用Git
Gi的背后有着一个非常精彩的成功故事。2005年4月, Linus Torvalds因不满当时任何
个可用的开源版本控制系统,就亲自着手实现了Git
时至今ri,如果我们在 Google E中搜索“ git version control”这几个关键词,都会看到数
以百万计的返回结果。Git已经俨然成为了新型开源项目的一个标准。许多大型的开源项目都
已经或正在计划迁移到Git上来
下面,我们来看一下这么多人之所以会选择Git的原因
t允许我们利用分支来开展工作:在一个由多个开发者并行协作的项目中
开发者
各自会有很多不同的开发路线。Gi的优势在于,它提供了一整套针对开发链的重新
整合工具,以便我们对其进行合并、变基和捡取等操作
。工作流上的灵活性:Git非常灵活。不但单一开发者可以用它,敏捷团队也可以找到
使用它工作的合适方法,甚至一个由众多开发者在不同的工作地点参与的大型guo际项
目也可以用它开发出一个很好的工作流。
适合奉献合作:大多数开源项目所依靠的都是开发者的无私奉献。因此,让这种无私
奉献的方式尽可能地简单化是一件非常重要的事。而这在一个集中式的版本控制系统
中通常是很难做到的,因为我们不可能让所有人都有权限去写版本库。但如果我们使
用Git,那么每个人都先可以克隆一个独立的工作版本库,然后再对其进行后续的改动。
高性能:Git在处理拥有许多文件且历史悠久的项目时速度也依然是非常快的。例如
使用Gt将Linx内核源码的当前版本切换到6年前的旧版本时,在一台 Macbook Air
上所需的时间不到1分钟。考虑这两个版本之间有着超过20000次的提交和4000
个更改文件,这已经足以让人印象深刻了
强大的抗故障和抗_攻.击_能力:由于项目历史被分散存储在多个分布式版本库中,因此
数据严重流失的可能性不大。再加上版本库中有着巧妙简单的数据结构,这确保了其
中的数据即使在遥远的未来也仍然会被正确地解释。而且,它还使用了统一的加密校
验,这使得_攻.击_者难以对版本库进行纂改
离线开发与多点开发:分布式的体系结构可以使得离线开发或者边旅行边开发的
变得非常容易。而且该结构在多点开发模式下,我们既不需要设置中央服.务.器,也不
需要固定的网络连接
强大的开源社区:除官方提供的详细文档外,你还可以在该社区找到无数相关的手册、
论坛、维基网站等,另外还有各种工具生态系统、托管平台、出版物、服务以及针对
各个开发环境的插件,整个社区都正在茁壮成长
可扩展性:Git为用户提供了许多实用命令,其中包括了能使我们更便于直接访问其
.远.程.版本库的命令。这可以让Git变得非常灵活,这种灵活性将允许其各种独立应用
提供比默认的Git版本更为强大的功能
本面向专业开发者的书
如果你在某一团队中从事开发工作,希望了解如何才能有效地使用Git,那么这本书就是
一个正确的选择。本书既不是那种偏重于理论的大部头,也不是一本面面俱到的参考书。我
们并不打算解释所有的Gi命令(这里可有100多条命令呢)及其全部选项(有些命令甚至
有50多个选项)。相反,我们打算在这本书中教你如何在典型的项目环境中使用Git,例如,
如何建立起一个Git项目、如何创建一个Git发行版等
本书相关内容
你将在本书中看到以下内容。
入门教程:这部分会重点演示每一个重要Git命令的用法,篇幅不会超过十几页
技术介绍:在这部分不足百页的篇幅中,你将要学习如何使用Git处理一个团队开发
中的各项事务。我们将会用大量的实例为你演示那些主要Gi命令的使用方式。此外
我们还会为你解释其中的基本概念,例如提交、版本库、分支、合并、重订等,以帮
助你了解Git的具体工作方式。在这个过程中,你还会不时地看到一些相关的提示与
技巧,你可能未必每天都会用到这些技巧,但它们有时还是会非常有用的
。工作流:这里的工作流主要指的是你在项目中使用Gt的实用场景,例如创建一个项
目的发行版等。而对于每个工作流,我们会从以下几项内来描述其目标场景
解决的是什么问题
需要增加什么必要条件
解决问题的人以及解决的时间
。“解决方案选用理由”部分:每个工作流中通常都只能有一个具体的解决方案。在Git
中,经常会存在着多个非常不同的解决路径,这些路径都可以让我们达成相同的目标
每一个工作流章节的最后一部分中,我们都会详细解释为什么要选用眼下这个解决
方案。另外。我们还会提一下相关的可变因素,以及我们因此可能采取的替代方案。
“分步”指令:这是一组常用命令序列,例如像移动某个分支就属于一条既定的“分
为什么要用工作流
Git非常灵活。可为多种不同的角色所用,从偶尔需要版本化少量
管理员,到 Linux内核项目中的上百个开发人员,一切皆有可能。当然,这种灵活性不是没
有代价的。在开始用Git来开展工作之前,你还必须要做一组决定。例如以下几种。
Gi中固然已经是分布式版本库。但你是真的打算只在本地工作,还是更思意建立
个中央版本库?
Git支持push和pu两种数据传输类型,但我们需要同时使用它们吗?如果让你选,
你会选哪一个?为什么不是另一个?
。分支与合并是Git中两个强大的功能。但是,我们应该开多少个分支呢?是根据每个
软件功能来开?还是针对每个发行版来开?还是只该有一个分支?
为了便于入门,下面我们来总结一下工作流及其作用
工作流指的是相关项目的ri常操作规程
#############################################
|
|