×

GitHub入门与实践PDF电子书免费下载

消耗积分:4 | 格式:pdf | 大小:20.31 MB | 2019-12-11

Avon1

分享资料个

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

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

  讲解 GitHub 是什么,以及有哪些革新之处。在开源软件的世界中, GitHub 为开发者带来了革命性的社会化编程概念。在这里我们将会接触这一概念,并对其带来的优势与功能进行讲解。

  第 2 章:Git 的导入

  要使用 GitHub,离不开 Git 这一版本管理系统。本章将深入介绍关于 Git 的知识,加深各位对 Git 的理解,同时说明实际操作的相关流程。

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

  使用 GitHub 需要开设账户(免费),因此我们将按照顺序为您讲解正式使用前需要进行的一系列设置。另外,本章还会讲解包括操作示例在内的,实际在 GitHub 上创建仓库并发布代码的相关流程。

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

  在实际操作中学习使用 GitHub 时所必需掌握的 Git 的基本知识和操作方法。从最基本操作到多人开发时所需的复杂操作,读者都可以随着本章的讲解简单实践一番。

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

 

  本章我们将以图配文,对 GitHub 的功能逐一进行讲解,同时还会详细解说其作为源代码查看器的功能,带您领略方便快捷的 UI。建议正在使用 GitHub 的开发者也读一读本章,您或许会发现一些将来能用到的小技巧。

  第 6 章:尝试 Pull Request Pull Request 是 GitHub 的代表功能,本章我们将带您亲自动手体会。请务必参考本书内容试着进行一次 Pull Request。第 7 章:接收 Pull Request 站在仓库维护方的角度,教您在接到 Pull Request 之后应该如何考虑,如何判断,以及该进行哪些操作。第 8 章:与 GitHub 相互协作的工具及服务前半部分为您讲解通过 CLI 对 GitHub 进行操作时所需的 hub 命令。另外,在持续集成环境方面,将讲解可与 GitHub 结合使用的 Travis CI 及 Jenkins 的构建及设定方法。除此之外,本章还会介绍一些能够与 GitHub 共同使用的服务。第 9 章:使用 GitHub 的开发流程详细讲解以 GitHub 为中心进行开发的 GitHub Flow、Git Flow 两个开发流程。从两者共通的团队开发心得到各自开发流程的特征,都可以通过本章的讲解实际动手体会。第 10 章:将 GitHub 应用到企业总结在企业中采用 GitHub 时需要考虑的问题及一些有用的信息。安全保障、故障信息、事前需要考虑的问题、GitHub Enterprise 的讨论等,这些实际引入 GitHub 时需要考虑或者了解的知识将在本章中进行讲解。附录 A :辅助 GitHub 的 GUI 客户端团队中并不是每个人都对 CLI 得心应手。因此,我们为读者总结了辅助 GitHub 的 GUI 客户端的相关知识。附录 B :通过 Gist 轻松实现代码共享 Gist 能帮助开发者轻松与其他人共享简单的代码示例或日志,我们将在这部分对 Gist 进行讲解。利用 Gist 可以轻松管理日常的小代码片段。

 

  目录

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

  1.1 什么是GitHub  2

  GitHub公司与octocat  2

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

  GitHub的使用情况  3

  Column 专栏:GitHub与Git的区别  4

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

  协作形式变化  4

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

  对特定用户进行评论  6

  GitHub Flavored Markdown  7

  Column 专栏:还可以这样写!!  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

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

  Column 专栏:公开时的许可协议  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

  LearnGitBranching  69

  tryGit  69

  4.7 小结  70

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

  5.1 键盘快捷键  72

  5.2 工具栏  73

  关于UI  73

  1LOGO  73

  2Notifications  73

  3 搜索窗口  73

  4Explore  73

  5Gist  74

  6Blog  74

  7Help  74

  8 头像、用户名  74

  9 Create a new  74

  Account settings  75

  Sign out  75

  5.3 控制面板  75

  关于UI  75

  ①News Feed  76

  ②Pull Requests  76

  ③Issues  76

  ④Stars  76

  ⑤Broadcast  76

  ⑥Repositories you contribute to  76

  ⑦Your Repositories  76

  5.4 个人信息  77

  关于UI  77

  1 用户信息  77

  2Popular Repositories  78

  3Repositories contributed to  78

  4Public contributions  78

  5Contribution Activity  78

  6Repositories  78

  7Public Activity  79

  5.5 仓库  80

  关于UI  80

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

  ②Watch/Star/Fork  80

  ③Code  81

  ④Issue  81

  ⑤Pull Requests  81

  ⑥Wiki  82

  ⑦Pulse  82

  ⑧Graphs  82

  ⑨Network  82

  ⑩Settings  82

  ⑪SSH clone URL  82

  ⑫Clone in Desktop  82

  ⑬Download ZIP  83

  acommits  83

  bbranches  83

  creleases  83

  dcontributors  83

  eCompare & review  83

  fbranch  83

  gpath  84

  hFork this project and Create a new file  84

  ifiles  84

  文件的相关操作  84

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

  查看差别  85

  查看分支间的差别  85

  查看与几天前的差别  86

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

  5.6 Issue  87

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

  语法高亮  89

  添加图片  90

  添加标签以便整理  90

  添加里程碑以便管理  91

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

  Tasklist语法  92

  通过提交信息操作Issue  93

  在相关Issue中显示提交  93

  Close Issue  93

  将特定的Issue转换为Pull Request  94

  5.7 Pull Request  94

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

  Conversation  96

  Column 专栏:引用评论  96

  Commits  97

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

  Files Changed  98

  5.8 Wiki  99

  Pages  100

  History  101

  Column 专栏:在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

  ①Settings  109

  ②Features  110

  ③GitHub Pages  111

  ④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

  Column 专栏:在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

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

  7.3 采纳Pull Request  139

  合并到主分支  140

  push修改内容  141

  7.4 小结  142

  Column 专栏:请协助我们共同创建互相学习的场所  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

  Column 专栏:让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

  Access Token  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

  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

  定期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

  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

  使用Organization  235

  确认Github的安全性  235

  注意维护时间  235

  查看故障信息  236

  10.2 GitHub Enterprise  237

  概述  238

  引入的好处  238

  引入的弊端  239

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

  源代码不可外传  239

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

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

  10.3 能实现Git托管的软件  241

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

  ①Gist Detail  253

  ②Revisions  253

  ③Download Gist  253

  ④Clone this gist  253

  ⑤Embed this gist  253

  ⑥Link to this gist   253

  文件的菜单   254

  B.4 Your Gists   254

  B.5 小结  255

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !