编辑推荐
针对项目开发人员:以有效率的方式,引导你在实践中完整地学习Git的操作技巧和应用。
针对项目管理者:在实例中学习如何查看项目开发的各种统计图,以便随时掌握项目开发的状况。
针对MIS人员:提供建立Git Server的多种方法,自行选用和规划适合自己实际运用的方法。
内容简介
本书以教科书的方式,循序渐进地向软件开发人员或软件开发的项目管理人员,讲述如何快速掌握分布式版本控制系统 Git 的应用方法,让繁琐复杂的项目开发的版本控制变得高效且轻松自如。书中细致入微地介绍了如何使用设置文件和操作Git文档库,以及建立项目开发的分支、合并分支和解决冲突的操作;在具备扎实的基础之后,介绍了Git GUI程序用法,以及 Git 在团队开发模式中应用的问题;讲述如何与全球的项目开发人员进行交流,提升程序开发的经验和能力;介绍了GitHub、Bitbucket、GitLab等提供Git服务的网站;本书最后的重点为介绍架设Git Server的几种方法,让每一个项目开发团队,可以按照自己的软硬件环境,选择适合的方式来控管项目开发。
作者简介
孙宏明,台湾成功大学信息工程研究所博士,台湾友立信息公司主任研究员,台湾开南大学资管系副教授,台北城市科技大学、台湾元培科技大学、台湾侨光科技大学等大专院校AndroidApp开发研习课程讲师。
内页插图
目录
第一部分 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就是能够有效提升软件研发效率的重要工具。
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 GitHub Git Server的24堂课 电子书 下载 mobi epub pdf txt