GitHub入门与实践
查字典图书网
当前位置: 查字典 > 图书网 > 管理> GitHub入门与实践

GitHub入门与实践

GitHub入门与实践

8.0

作者: [日] 大塚弘记
出版社: 人民邮电出版社
原作名: GitHub実践入門
译者: 支鹏浩  |  刘斌
出版年: 2015-7
页数: 280
定价: 39.00元
装帧: 平装
ISBN: 9787115394095

我要收藏

内容简介:

本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的代表功能Pull Request时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request并共同维护。

作者简介:

大塚弘记

将敏捷软件开发导入开发现场的领军人物,以顾问身份就Web应用的开发及服务指导过多家企业和团队。曾为多家企业和团队导入GitHub,在建立一天之内多次部署的开发体制方面拥有丰富经验。

目录:

第1章 欢迎来到GitHub的世界1

1.1 什么是GitHub2

GitHub公司与octocat2

并不只是Git仓库的托管服务3

GitHub的使用情况3

Column 专栏:GitHub与Git的区别4

1.2 使用GitHub会带来哪些变化4

协作形式变化4

在开发者之间引发化学反应的Pull Request5

对特定用户进行评论6

GitHub Flavored Markdown7

Column 专栏:还可以这样写!!7

能看到更多其他团队的软件7

与开源软件相同的开发模式8

1.3 社会化编程9

1.4 为什么需要社会化编程10

不要闭目塞听,要接触不同的文化10

会写代码的程序员更受青睐11

GitHub最大的特征是“面向人”11

1.5 GitHub提供的主要功能12

Git仓库12

Organization12

Issue13

Wiki13

Pull Request13

Column 专栏:GitHub上受到瞩目的软件14

1.6 小结14

参考资料14

第2章 Git的导入17

2.1 诞生背景18

2.2 什么是版本管理18

集中型与分散型19

集中型19

分散型19

集中型与分散型哪个更好20

2.3 安装21

Mac与Linux21

Windows21

组件的选择22

设置环境变量22

换行符的处理23

Git Bash23

本书所用的环境24

2.4 初始设置24

设置姓名和邮箱地址24

提高命令输出的可读性25

2.5 小结25

第3章 使用GitHub的前期准备27

3.1 使用前的准备28

创建账户28

设置头像29

设置SSH Key29

添加公开密钥30

使用社区功能31

3.2 实际动手使用31

创建仓库31

Repository name32

Description32

Public、Private32

Initialize this repository with a README32

Add .gitignore33

Add a license33

连接仓库33

README.md33

GitHub Flavored Markdown34

公开代码34

clone已有仓库34

编写代码35

提交36

Column 专栏:公开时的许可协议37

进行push37

3.3 小结38

第4章 通过实际操作学习Git39

4.1 基本操作40

git init——初始化仓库40

git status——查看仓库的状态40

git add——向暂存区中添加文件41

git commit——保存仓库的历史记录42

记述一行提交信息42

记述详细提交信息42

中止提交43

查看提交后的状态43

git log——查看提交日志43

只显示提交信息的第一行44

只显示指定目录、文件的日志44

显示文件的改动45

git diff——查看更改前后的差别45

查看工作树和暂存区的差别45

查看工作树和最新提交的差别46

4.2 分支的操作47

git branch——显示分支一览表48

git checkout -b——创建、切换分支48

切换到feature-A分支并进行提交48

切换到master分支49

切换回上一个分支50

特性分支50

主干分支51

git merge——合并分支51

git log --graph——以图表形式查看分支52

4.3 更改提交的操作53

git reset——回溯历史版本53

回溯到创建feature-A分支前53

创建fix-B分支54

推进至feature-A分支合并后的状态55

消除冲突56

查看冲突部分并将其解决57

提交解决后的结果57

git commit --amend——修改提交信息58

git rebase -i——压缩历史59

创建feature-C分支59

修正拼写错误60

更改历史61

合并至master分支63

4.4 推送至远程仓库63

git remote add——添加远程仓库64

git push——推送至远程仓库64

推送至master分支64

推送至master以外的分支65

4.5 从远程仓库获取65

git clone——获取远程仓库65

获取远程仓库65

获取远程的feature-D分支66

向本地的feature-D分支提交更改67

推送feature-D分支67

git pull——获取最新的远程仓库分支67

4.6 帮助大家深入理解Git的资料68

Pro Git68

LearnGitBranching69

tryGit69

4.7 小结70

第5章 详细解说GitHub的功能71

5.1 键盘快捷键72

5.2 工具栏73

关于UI73

1LOGO73

2Notifications73

3 搜索窗口73

4Explore73

5Gist74

6Blog74

7Help74

8 头像、用户名74

9 Create a new74

Account settings75

Sign out75

5.3 控制面板75

关于UI75

①News Feed76

②Pull Requests76

③Issues76

④Stars76

⑤Broadcast76

⑥Repositories you contribute to76

⑦Your Repositories76

5.4 个人信息77

关于UI77

1 用户信息77

2Popular Repositories78

3Repositories contributed to78

4Public contributions78

5Contribution Activity78

6Repositories78

7Public Activity79

5.5 仓库80

关于UI80

①用户名(组织名)/仓库名80

②Watch/Star/Fork80

③Code81

④Issue81

⑤Pull Requests81

⑥Wiki82

⑦Pulse82

⑧Graphs82

⑨Network82

⑩Settings82

⑪SSH clone URL82

⑫Clone in Desktop82

⑬Download ZIP83

acommits83

bbranches83

creleases83

dcontributors83

eCompare & review83

fbranch83

gpath84

hFork this project and Create a new file84

ifiles84

文件的相关操作84

Column专栏:通过部分名称搜索文件85

查看差别85

查看分支间的差别85

查看与几天前的差别86

查看与指定日期之间的差别87

5.6 Issue87

简洁且表现力丰富的描述方法88

语法高亮89

添加图片90

添加标签以便整理90

添加里程碑以便管理91

Column 专栏:了解贡献时的规则!92

Tasklist语法92

通过提交信息操作Issue93

在相关Issue中显示提交93

Close Issue93

将特定的Issue转换为Pull Request94

5.7 Pull Request94

Column 专栏:获取diff格式与patch格式的文件96

Conversation96

Column 专栏:引用评论96

Commits97

Column 专栏:在评论中应用表情98

Files Changed98

5.8 Wiki99

Pages100

History101

Column 专栏:在Wiki中显示侧边栏101

5.9 Pulse102

active pull requests103

active issue103

commits104

Releases published104

Unresolved Conversations104

5.10 Graphs105

Contributors105

Commit Activity106

Code Frequency106

Punchcard108

5.11 Network108

5.12 Settings109

Options109

①Settings109

②Features110

③GitHub Pages111

④Danger Zone111

Collaborators111

Webhooks & Services112

Deploy Keys112

5.13 Notifications112

5.14 其他功能114

GitHub Pages114

GitHub Jobs114

GitHub Enterprise114

GitHub API115

5.15 小结115

Column 专栏:在Mac的通知中心查看GitHub的Notifications115

第6章 尝试Pull Request117

6.1 Pull Request的概要118

什么是Pull Request118

Pull Request的流程118

6.2 发送Pull Request前的准备119

查看要修正的源代码120

Fork120

clone120

branch121

为何要在特性分支中进行作业121

确认分支121

创建特性分支121

添加代码122

提交修改122

创建远程分支123

6.3 发送Pull Request123

6.4 让Pull Request更加有效的方法126

在开发过程中发送Pull Request进行讨论126

明确标出“正在开发过程中”127

不进行Fork直接从分支发送Pull Request128

6.5 仓库的维护128

仓库的Fork与clone129

给原仓库设置名称129

获取最新数据130

6.6 小结130

第7章 接收Pull Request131

7.1 采纳Pull Request的方法132

7.2 采纳Pull Request前的准备133

代码审查133

查看图片的差别134

2-up134

Swipe135

Onion Skin135

Difference136

在本地开发环境中反映Pull Request的内容136

将接收方的本地仓库更新至最新状态136

获取发送方的远程仓库137

创建用于检查的分支138

合并138

删除分支139

Column 专栏:如何提升代码管理技术139

7.3 采纳Pull Request139

合并到主分支140

push修改内容141

7.4 小结142

Column 专栏:请协助我们共同创建互相学习的场所142

第8章 与GitHub相互协作的工具及服务143

8.1 hub命令144

概要144

安装144

安装145

确认运行情况145

设置别名145

实现shell上的功能补全146

~/.config/hub146

命令146

hub clone146

hub remote add147

hub fetch147

hub cherry-pick147

hub fork148

hub pull-request148

hub checkout148

hub create149

hub push149

hub browse150

hub compare150

Column 专栏:让GitHub Enterprise支持hub命令151

8.2 Travis CI151

概要151

实际尝试152

编写配置文件152

检测配置文件是否有问题152

与GitHub集成153

将Travis CI的结果添加至README.md155

8.3 Coveralls156

概要156

安装157

注册157

添加对象仓库158

编写配置文件158

添加gem159

查看报告160

8.4 Gemnasium160

8.5 Code Climate161

8.6 Jenkins162

概要162

安装164

创建bot账户165

bot账户的权限设置165

对象为个人账户时165

对象为Organization账户时165

检查设置167

给Jenkins设置SSH密钥167

初次使用Jenkins时167

已经在使用Jenkins时168

GitHub pull request builder plugin的安装169

Git plugin的设置170

Github Pull Requests Builder的设置170

Github server api URL171

Access Token171

Admin list172

job的创建与设置172

GitHub project172

源码管理172

构建触发器173

构建174

通知结果174

测试执行中的状态175

Failed175

All is well175

commit status175

通过评论进行控制176

执行任务176

添加至White list176

重新执行任务176

变更指定评论177

8.7 小结177

Column 专栏:用Coderwall生成GitHub上的个人信息178

第9章 使用GitHub的开发流程179

9.1 团队使用GitHub时的注意事项180

一切从简180

项目管理工具与GitHub的区别180

项目管理工具与GitHub相异的原因181

不Fork仓库的方法182

9.2 GitHub Flow——以部署为中心的开发模式183

9.3 GitHub Flow的流程184

随时部署,没有发布的概念184

进行新的作业时要从master分支创建新分支185

在新创建的分支中进行提交186

定期push186

使用Pull Request187

务必让其他开发者进行审查187

合并后立刻部署187

9.4 实践GitHub Flow的前提条件188

部署作业完全自动化188

使用部署工具189

通过Web界面进行部署的工具189

导入开发时的注意事项190

重视测试190

让测试自动化190

编写测试代码,通过全部测试190

维护测试代码190

9.5 模拟体验GitHub Flow191

Fizzbuzz的说明191

添加新功能192

创建新的分支192

如果尚未clone仓库192

如果之前clone过仓库193

创建特性分支193

实现新功能194

创建Pull Request196

接收反馈196

修正缩进197

添加测试199

培育Pull Request202

Pull Request被合并202

9.6 团队实践GitHub Flow时的几点建议203

减小Pull Request的体积204

准备可供试运行的环境204

不要让Pull Request中有太多反馈205

不要积攒Pull Request206

9.7 GitHub Flow的小结206

9.8 Git Flow——以发布为中心的开发模式207

便于理解的标准流程207

有时显得过于复杂209

9.9 导入Git Flow前的准备209

安装git-flow209

Mac下的安装209

Linux下的安装210

确认运行状况210

仓库的初始设置210

创建仓库210

进行git flow的初始设置211

在远程仓库中也创建develop分支212

9.10 模拟体验Git Flow212

master分支与develop分支的区别213

master分支213

develop分支213

在feature中进行的工作213

创建分支214

在分支中进行作业215

发送Pull Request216

通过代码审查提高代码质量217

更新本地的develop分支219

在release分支中进行的工作220

Column 专栏:设置默认分支220

创建分支221

分支内的工作222

进行发布与合并222

查看版本标签224

更新到远程仓库225

在hotfix分支中进行的工作226

创建分支226

创建标签和进行发布228

从hotfix分支合并至develop分支230

9.11 Git Flow的小结232

Column 专栏:版本号的分配规则232

第10章 将GitHub应用到企业233

10.1 将世界标准的开发环境引入企业现场234

企业引入GitHub的好处234

使用Organization235

确认Github的安全性235

注意维护时间235

查看故障信息236

10.2 GitHub Enterprise237

概述238

引入的好处238

引入的弊端239

适合引入GitHub Enterprise的几种情况239

源代码不可外传239

Column 专栏:将GitHub的仓库作为Subversion仓库使用240

希望维护与故障时间可控240

10.3 能实现Git托管的软件241

Column 专栏:Bitbucket241

10.4 小结242

附录A 支持GitHub的GUI客户端243

A.1 GitHub for Mac,GitHub for Windows244

A.2 SourceTree246

附录B 通过Gist轻松实现代码共享247

B.1 Gist的特点248

B.2 创建Gist248

UI讲解249

1 Gist description249

2 name this file249

3 language250

4 ACE Editor 250

5 文件250

6 Add another File251

7 Create Secret Gist251

8 Create Public Gist251

B.3 查看Gist252

Gist 的菜单252

①Gist Detail253

②Revisions253

③Download Gist253

④Clone this gist253

⑤Embed this gist253

⑥Link to this gist 253

文件的菜单 254

B.4 Your Gists 254

B.5 小结255

文章试读:GitHub的出现已使当今世界的软件开发现场发生了翻天覆地的变化。在这场可称之为革命的变革当中,中国也毫不例外地受到了影响。本章中,我们将简单介绍将GitHub导入日常开发后会带来哪些变化,供尚未正式使用GitHub的开发者们加以了解。 协作形式变化 此前,用于辅助多人协同工作的软件层出不穷,然而它们中的大部分又一个个退出了历史的舞台。在这类软件中,群件(Groupware)和...

(查看全部试读)

展开全文
随机来一本书

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

热门标签:
我想说两句
我要写长评
 想读     在读     读过   
评价:
标签(多个标签以“,”分开):