完全学会Git,GitHub,GitServer的24堂课

完全学会Git,GitHub,GitServer的24堂课"

作者:孙宏明
ISBN:9787302437796
定价:¥49
字数:千字
页数:
出版时间:2016.06.01
开本:
版次:1-6
装帧:
出版社:清华大学出版社
简介

本书以教科书的方式,循序渐进地向软件开发人员或软件开发的项目管理人员,讲述如何快速掌握分布式版本控制系统 Git 的应用方法,让繁琐复杂的项目开发的版本控制变得高效且轻松自如。书中细致入微地介绍了如何使用设置文件和操作Git文档库,以及建立项目开发的分支、合并分支和解决冲突的操作;在具备扎实的基础之后,介绍了Git GUI程序用法,以及 Git 在团队开发模式中应用的问题;讲述如何与全球的项目开发人员进行交流,提升程序开发的经验和能力;介绍了GitHub、Bitbucket、GitLab等提供Git服务的网站;本书最后的重点为介绍架设Git Server的几种方法,让每一个项目开发团队,可以按照自己的软硬件环境,选择适合的方式来控管项目开发。

  

  本书封面贴有清华大学出版社防伪标签,无标签者不得销售。

前言

在现今的信息产业中,软件扮演的角色越来越重要。如果公司想要在信息产业界中占有一席之地,拥有强大的软件研发实力是必要的条件。以现阶段软件产业的生态来说,能够熟练使用工具软件来提升软件研发的效率,是影响软件实力的关键因素之一,而Git就是能够有效提升软件研发效率的重要工具。

Git青出于蓝、更胜于蓝

Git最初是由Linux kernel的作者Torvalds先生所开发,用来管理 Linux kernel项目的工具。它的功能是负责项目的版本控制,我们称它为“版本控制系统”(Version Control System, VCS)。虽然在Git之前,已经有许多VCS。但是相比之下,Git有更多的优点。因此从Git出现之后,就以“后来者居上”的态势快速普及。不仅有许多软件研发公司改用Git来管理和控制软件项目,网络上也出现了许多提供Git文档库存储服务的网站。而且绝大多数的开放源码的程序项目,也都是使用Git来进行版本控制的管理。为了顺应这样的趋势,软件开发工具现在也都支持用Git来进行版本控制。因此,只要是从事软件项目研发相关的工作,或是未来即将踏入这个领域,学会使用Git已经成为从业人员必备的技能。

Git和其他VCS有许多不一样的地方。它的优点是能够提升软件开发团队的工作效率,但是相对而言,就需要多一点时间来学习更好地使用它。初次使用Git的人通常会有似懂非懂的感觉,仿照别人的操作虽然很容易,可是究竟这样操作会得到什么结果,或是在不同的情况下该如何处理,这一切都会觉得懵懵懂懂。如果是和软件研发团队一起工作,每一次操作Git更是胆颤心惊,害怕一不小心,毁了整个团队的心血结晶,成为大家的罪人!

其实Git的核心是保护我们的文件,因此它工作的最高指导原则,就是不会遗失我们的数据,除非我们执行删除文件的指令。因此,Git的安全性是无庸置疑的,只要了解它的运行方式,熟悉各种情况下的操作方法,就能够让它发挥最大的效能。

Git的学习之道

本书以循序渐进的方式,学习Git的功能和用法。书中以实际的操作范例,让读者亲身体验Git工作的细节,并且掌握每一个指令的效果以及每一个选项的使用时机。虽然网络上有许多采用GUI(图形用户界面)的Git程序,但是笔者不建议初学者一开始就使用这类型的程序。因为它的操作界面过于复杂,初学者在还没有完全了解的情况下,常常会觉得疑惑,反而容易让学习失去重点。相比之下,输入Git指令的操作方式虽然比较麻烦一点,但是却比较清楚,初学者可以完全理解每一个操作和选项所达成的结果。等到建立好Git指令操作的基础之后,再来使用GUI界面的Git程序,就会水到渠成,轻而易举。

本书的内容安排先从Git的单机操作开始,让读者先了解Git如何工作,并且熟悉配置文件和文件库的基本操作方法。接着学习如何建立分支、合并分支和解决冲突。等到基础完备之后,再来介绍GUI操作界面的Git程序,让读者体验不同的操作风格。接着学习Git在团队开发模式的应用,以及介绍网络上提供Git文件库存储服务的网站。让读者了解如何使用这些资源,辅助程序项目的开发。使用这些网站的另一个好处是可以藉此参与开放源码的程序项目,提升自己程序开发的经验和能力。本书的最后部分是介绍架设Git Server的几种方法,让每一个项目开发团队,可以按照自己的软硬件环境,选择适合的方式来管理和控制项目。

相信通过本书精心编排的学习单元,能够顺利地引导初学者,一步一步地建立完整的操作观念和技巧,并且培养在不同情况下的应用能力。一旦读者能够完全掌握Git之后,它必定成为你或是你的团队开发程序项目的最佳助手!

孙宏明

目录

目  录

第一部分  Git的基本概念和操作

第1课  Git、谁与争锋 2

1-1  安装和使用Git 3

1-2  了解Git的工作方式 9

第2课  Git配置文件的妙用 11

2-1  “git config”指令的用法 12

2-2  修改默认的文本编辑器和文件对比程序 15

第3课  把文件存入Git文档库 20

3-1  排除不需要加入文档库的文件 20

3-2  控制Commit 25

3-3  查看Commit节点 27

第4课  比较文件的差异和从Git 文档库取回文件 31

4-1  从Git文档库中取出文件 33

4-2  使用“git mv”指令改变文件或是文件夹的名称 36

4-3  暂存当前文件夹的文件状态 37

4-4  清理Git文档库 38

第5课 Git程序项目管理的实践演练 40

第6课  获取Git文档库统计数据和绘制统计图表 45

6-1  获取Git文档库的统计数据 46

6-2  使用GitStats绘制统计图表 49

第二部分  建立分支、合并和解决冲突

第7课  程序项目的分支(Branch) 56

7-1  解决Detached HEAD的问题 63

第8课 合并程序项目的分支和解决冲突 67

8-1  解决合并分支时发生的冲突 71

8-2  设置Merge Tool解决合并分支时发生的冲突 75

8-3  使用Cherry-Pick指令运用指定的Commit节点版本 77

8-4  处理Detached HEAD状态和Revert Commit节点 79

第9课 使用Rebase指令更新分支的起始点 81

9-1  Rebase指令的用法 84

9-2  执行Rebase之后想要反悔怎么办? 86

第10课  程序项目的分支和合并的实践演练 88

10-1  程序项目开发导入Git的策略 88

10-2  结合Git与程序项目开发 91

第三部分  Git程序的图形操作介面

第11课  Git GUI程序的基本功能 99

11-1  Git GUI程序的基本操作 101

11-2  Git GUI程序和其他程序搭配使用 104

第12课  使用Git GUI程序创建分支和合并 108

第13课  SmartGit程序操作介绍 114

13-1  SmartGit程序的基本操作 116

13-2  SmartGit程序的分支、Rebase和合并 120

第14课  SourceTree程序操作介绍 127

14-1  SourceTree程序的基本操作 128

14-2  SourceTree程序的分支、Rebase和合并 131

第15课  TortoiseGit程序操作介绍 138

15-1  TortoiseGit程序的基本操作 139

15-2  TortoiseGit程序的分支、Rebase和合并 145

第四部分  远程Git文档库和团队开关模式

第16课  “远程Git文档库”的基础操作 154

16-1  “远程Git文档库”的功能 155

16-2  创建“远程Git文档库” 156

16-3  从“远程Git文档库”复制出“本地Git文档库” 158

16-4  “本地Git文档库”和“远程Git文档库”的数据

同步 159

第17课  “远程Git文档库”的高级操作 167

第18课  GitHub让程序项目飞上云端 172

18-1  注册和设置GitHub 173

18-2  使用GitHub的“远程Git文档库” 177

18-3  安装和使用GitHub for Windows 182

第19课  Fork让Git文档库分家后再合并 189

19-1  Fork和Rebase Git文档库 192

19-2  创建Pull Request报告我们的更新 195

第20课  Bitbucket比GitHub更好用 199

20-1  注册和设置Bitbucket 200

20-2  使用Bitbucket的“远程Git文档库” 203

20-3  使用SourceTree程序操作“远程Git文档库” 205

20-4  执行Fork和Pull Request 208

第21课  GitLab完全免费再加送整个系统 211

21-1  自己架设GitLab网站 219

第五部分  架设Git Server

第22课  使用Windows共享文件夹或是Git Daemon

作为Git Server 225

22-1  把Windows“共享文件夹”作为“远程Git

文档库” 226

22-2  使用Git Daemon创建Git Server 227

第23课  使用HTTP/HTTPS访问Git Server 231

23-1  使用HTTP访问Git Server 232

23-2  使用HTTPS访问Git Server 236

第24课  使用SSH认证和加密的Git Server 239

24-1  SSH的工作原理 240

24-2  安装和设置Copssh Server 241

附录  Git常用指令一览表 249

作者简介

编辑推荐

针对项目开发人员:以最有效率的方式,引导你在实践中完整地学习Git的操作技巧和应用。

针对项目管理者:在实例中学习如何查看项目开发的各种统计图,以便随时掌握项目开发的状况。

针对MIS人员:提供建立Git Server的多种方法,自行选用和规划最适合自己实际运用的方法。

作者寄语

作者简介

孙宏明 

台湾成功大学信息工程研究所博士 

台湾友立信息公司主任研究员 

台湾开南大学资管系副教授 

台北城市科技大学、台湾元培科技大学、台湾侨光科技大学等大专院校Android App开发研习课程讲师

电子资料

www.luweidong.cn

下一个