《图灵程序设计丛书 GitHub入门与实践》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(日)大塚弘记著;支鹏浩,刘斌译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115394095
  • 页数:257 页
图书介绍:本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub 的代表功能Pull Request 时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行Pull Request 并共同维护。

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

1.1 什么是GitHub 2

GitHub公司与octocat 2

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

GitHub的使用情况 3

专栏:GitHub与Git的区别 4

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

协作形式变化 4

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

对特定用户进行评论 6

GitHub Flavored Markdown 7

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

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

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

1.3 社会化编程 9

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

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

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

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

1.5 GitHub提供的主要功能 12

Git仓库 12

Organization 12

Issue 13

Wiki 13

Pull Request 13

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

1.6 小结 14

参考资料 14

第2章 Git的导入 17

2.1 诞生背景 18

2.2 什么是版本管理 18

集中型与分散型 19

集中型 19

分散型 19

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

2.3 安装 21

Mac与Linux 21

Windows 21

组件的选择 22

设置环境变量 22

换行符的处理 23

Git Bash 23

本书所用的环境 24

2.4 初始设置 24

设置姓名和邮箱地址 24

提高命令输出的可读性 25

2.5 小结 25

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

3.1 使用前的准备 28

创建账户 28

设置头像 29

设置SSH Key 29

添加公开密钥 30

使用社区功能 31

3.2 实际动手使用 31

创建仓库 31

Repository name 32

Description 32

Public、 Private 32

Initialize this repository with a README 32

Add.gitignore 33

Add a license 33

连接仓库 33

README.md 33

GitHub Flavored Markdown 34

公开代码 34

clone已有仓库 34

编写代码 35

提交 36

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

进行push 37

3.3 小结 38

第4章 通过实际操作学习Git 39

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 Git 68

LearnG itBranching 69

tryGit 69

4.7 小结 70

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

5.1 键盘快捷键 72

5.2 工具栏 73

关于UI 73

1 LOGO 73

2 Notifications 73

3 搜索窗口 73

4 Explore 73

5 Gist 74

6 Blog 74

7 Help 74

8 头像、用户名 74

9 Create a new 74

10 Account settings 75

11 Sign out 75

5.3 控制面板 75

关于UI 75

1 News Feed 76

2 Pull Requests 76

3 issues 76

4 Stars 76

5 Broadcast 76

6 Repositories you contribute to 76

7 Your Repositories 76

5.4 个人信息 77

关于UI 77

1 用户信息 77

2 Popular Repositories 78

3 Repositories contributed to 78

4 Public contributions 78

5 Contribution Activity 78

6 Repositories 78

7 Public Activity 79

5.5 仓库 80

关于UI 80

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

2 Watch/Star/Fork 80

3 Code 81

4 issue 81

5 Pull Requests 81

6 Wiki 82

7Pulse 82

8 Graphs 82

9 Network 82

10 Settings 82

11SSH clone URL 82

12Clone in Desktop 82

13Download ZIP 83

a commits 83

b branches 83

c releases 83

d contributors 83

e Compare&review 83

f branch 83

g path 84

h Fork this project and Create a new file 84

i files 84

文件的相关操作 84

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

查看差别 85

查看分支间的差别 85

查看与几天前的差别 86

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

5.6 Issue 87

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

语法高亮 89

添加图片 90

添加标签以便整理 90

添加里程碑以便管理 91

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

Tasklist语法 92

通过提交信息操作Issue 93

在相关Issue中显示提交 93

Close Issue 93

将特定的Issue转换为Pull Request 94

5.7 Pull Request 94

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

Conversation 96

专栏:引用评论 96

Commits 97

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

Files Changed 98

5.8 Wiki 99

Pages 100

History 101

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

5.9 Pulse 102

active pull requests 103

active issue 103

commits 104

Releases published 104

Unresolved Conversations 104

5.10 Graphs 105

Contributors 105

Commit Activity 106

Code Frequency 106

Punchcard 108

5.11 Network 108

5.12 Settings 109

Options 109

1 Settings 109

2 Features 110

3 GitHub Pages 111

4 Danger Zone 111

Collaborators 111

Webhooks&Services 112

Deploy Keys 112

5.13 Notifications 112

5.14 其他功能 114

GitHub Pages 114

GitHub Jobs 114

GitHub Enterprise 114

GitHub API 115

5.15 小结 115

专栏:在Mac的通知中心查看GitHub的Notifications 115

第6章 尝试Pull Request 117

6.1 Pull Request的概要 118

什么是Pull Request 118

Pull Request的流程 118

6.2 发送Pull Request前的准备 119

查看要修正的源代码 120

Fork 120

clone 120

branch 121

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

确认分支 121

创建特性分支 121

添加代码 122

提交修改 122

创建远程分支 123

6.3 发送Pull Request 123

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

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

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

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

6.5 仓库的维护 128

仓库的Fork与clone 129

给原仓库设置名称 129

获取最新数据 130

6.6 小结 130

第7章 接收Pull Request 131

7.1 采纳Pull Request的方法 132

7.2 采纳Pull Request前的准备 133

代码审查 133

查看图片的差别 134

2-up 134

Swipe 135

Onion Skin 135

Difference 136

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

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

获取发送方的远程仓库 137

创建用于检查的分支 138

合并 138

删除分支 139

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

7.3 采纳Pull Request 139

合并到主分支 140

push修改内容 141

7.4 小结 142

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

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

8.1 hub命令 144

概要 144

安装 144

安装 145

确认运行情况 145

设置别名 145

实现shell上的功能补全 146

~/.config/hub 146

命令 146

hub clone 146

hub remote add 147

hub fetch 147

hub cherry-pick 147

hub fork 148

hub pull-request 148

hub checkout 148

hub create 149

hub push 149

hub browse 150

hub compare 150

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

8.2 Travis CI 151

概要 151

实际尝试 152

编写配置文件 152

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

与GitHub集成 153

将Travis CI的结果添加至README.md 155

8.3 Coveralls 156

概要 156

安装 157

注册 157

添加对象仓库 158

编写配置文件 158

添加gem 159

查看报告 160

8.4 Gemnasium 160

8.5 Code Climate 161

8.6 Jenkins 162

概要 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 URL 171

AccessToken 171

Admin list 172

job的创建与设置 172

GitHub project 172

源码管理 172

构建触发器 173

构建 174

通知结果 174

测试执行中的状态 175

Failed 175

All is well 175

commit status 175

通过评论进行控制 176

执行任务 176

添加至White list 176

重新执行任务 176

变更指定评论 177

8.7 小结 177

专栏:用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

定期push 186

使用Pull Request 187

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

合并后立刻部署 187

9.4 实践GitHub Flow的前提条件 188

部署作业完全自动化 188

使用部署工具 189

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

导入开发时的注意事项 190

重视测试 190

让测试自动化 190

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

维护测试代码 190

9.5 模拟体验GitHub Flow 191

Fizzbuzz的说明 191

添加新功能 192

创建新的分支 192

如果尚未clone仓库 192

如果之前clone过仓库 193

创建特性分支 193

实现新功能 194

创建Pull Request 196

接收反馈 196

修正缩进 197

添加测试 199

培育Pull Request 202

Pull Request被合并 202

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

减小Pull Request的体积 204

准备可供试运行的环境 204

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

不要积攒Pull Request 206

9.7 GitHub Flow的小结 206

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

便于理解的标准流程 207

有时显得过于复杂 209

9.9 导入Git Flow前的准备 209

安装git-flow 209

Mac下的安装 209

Linux下的安装 210

确认运行状况 210

仓库的初始设置 210

创建仓库 210

进行git flow的初始设置 211

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

9.10 模拟体验Git Flow 212

master分支与develop分支的区别 213

master分支 213

develop分支 213

在feature中进行的工作 213

创建分支 214

在分支中进行作业 215

发送Pull Request 216

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

更新本地的develop分支 219

在release分支中进行的工作 220

专栏:设置默认分支 220

创建分支 221

分支内的工作 222

进行发布与合并 222

查看版本标签 224

更新到远程仓库 225

在hoftix分支中进行的工作 226

创建分支 226

创建标签和进行发布 228

从hotfix分支合并至develop分支 230

9.11 Git Flow的小结 232

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

第10章 将GitHub应用到企业 233

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

企业引入GitHub的好处 234

使用Organization 235

确认Github的安全性 235

注意维护时间 235

查看故障信息 236

10.2 GitHub Enterprise 237

概述 238

引入的好处 238

引入的弊端 239

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

源代码不可外传 239

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

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

10.3 能实现Git托管的软件 241

专栏:Bitbucket 241

10.4 小结 242

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

A.1 GitHub for Mac, GitHub for Windows 244

A.2 SourceTree 246

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

B.1 Gist的特点 248

B.2 创建Gist 248

UI讲解 249

1 Gist description 249

2 name this file 249

3 language 250

4 ACE Editor 250

5 文件 250

6 Add another File 251

7 Create Secret Gist 251

8 Create Public Gist 251

B.3 查看Gist 252

Gist的菜单 252

1 Gist D etail 253

2 Revisions 253

3 Download Gist 253

4 Clone this gist 253

5 Embed this gist 253

6 Link to this gist 253

文件的菜单 254

B.4 Your Gists 254

B.5 小结 255