GitHub入门与实践pdf免费版高清完整版
编辑点评:貌似的确国内没有类似的入门书籍。
包含GitHub的开发流程和辅助工具,GitHub入门与实践电子版适合需要引入GitHub的公司或团队直接使用,内容全面,系统讲解GitHub的功能和实用技巧,图文直观,一步步演示GitHub的使用方法,实战导向,专门搭建实践仓库,邀请读者进行Pull Request 并共同维护。
GitHub入门与实践pdf预览
内容简介
本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作,使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的代表功能PullRequest时,本书专门搭建了供各位读者实践的仓库,邀请各位读者进行PullRequest并共同维护。
目录大全
第1章欢迎来到GitHub的世界1
1.1什么是GitHub2
GitHub公司与octocat2
并不只是Git仓库的托管服务3
GitHub的使用情况3
Column专栏:GitHub与Git的区别4
1.2使用GitHub会带来哪些变化4
协作形式变化4
在开发者之间引发化学反应的PullRequest5
对特定用户进行评论6
GitHubFlavoredMarkdown7
Column专栏:还可以这样写!!7
能看到更多其他团队的软件7
与开源软件相同的开发模式8
1.3社会化编程9
1.4为什么需要社会化编程10
不要闭目塞听,要接触不同的文化10
会写代码的程序员更受青睐11
GitHub最大的特征是“面向人”11
1.5GitHub提供的主要功能12
Git仓库12
Organization12
Issue13
Wiki13
PullRequest13
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
GitBash23
本书所用的环境24
2.4初始设置24
设置姓名和邮箱地址24
提高命令输出的可读性25
2.5小结25
第3章使用GitHub的前期准备27
3.1使用前的准备28
创建账户28
设置头像29
设置SSHKey29
添加公开密钥30
使用社区功能31
3.2实际动手使用31
创建仓库31
Repositoryname32
Description32
Public、Private32
InitializethisrepositorywithaREADME32
Add.gitignore33
Addalicense33
连接仓库33
README.md33
GitHubFlavoredMarkdown34
公开代码34
clone已有仓库34
编写代码35
提交36
Column专栏:公开时的许可协议37
进行push37
3.3小结38
第4章通过实际操作学习Git39
4.1基本操作40
gitinit――初始化仓库40
gitstatus――查看仓库的状态40
gitadd――向暂存区中添加文件41
gitcommit――保存仓库的历史记录42
记述一行提交信息42
记述详细提交信息42
中止提交43
查看提交后的状态43
gitlog――查看提交日志43
只显示提交信息的第一行44
只显示指定目录、文件的日志44
显示文件的改动45
gitdiff――查看更改前后的差别45
查看工作树和暂存区的差别45
查看工作树和最新提交的差别46
4.2分支的操作47
gitbranch――显示分支一览表48
gitcheckout-b――创建、切换分支48
切换到feature-A分支并进行提交48
切换到master分支49
切换回上一个分支50
特性分支50
主干分支51
gitmerge――合并分支51
gitlog--graph――以图表形式查看分支52
4.3更改提交的操作53
gitreset――回溯历史版本53
回溯到创建feature-A分支前53
创建fix-B分支54
推进至feature-A分支合并后的状态55
消除冲突56
查看冲突部分并将其解决57
提交解决后的结果57
gitcommit--amend――修改提交信息58
gitrebase-i――压缩历史59
创建feature-C分支59
修正拼写错误60
更改历史61
合并至master分支63
4.4推送至远程仓库63
gitremoteadd――添加远程仓库64
gitpush――推送至远程仓库64
推送至master分支64
推送至master以外的分支65
4.5从远程仓库获取65
gitclone――获取远程仓库65
获取远程仓库65
获取远程的feature-D分支66
向本地的feature-D分支提交更改67
推送feature-D分支67
gitpull――获取最新的远程仓库分支67
4.6帮助大家深入理解Git的资料68
ProGit68
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
9Createanew74
Accountsettings75
Signout75
5.3控制面板75
关于UI75
①NewsFeed76
②PullRequests76
③Issues76
④Stars76
⑤Broadcast76
⑥Repositoriesyoucontributeto76
⑦YourRepositories76
5.4个人信息77
关于UI77
1用户信息77
2PopularRepositories78
3Repositoriescontributedto78
4Publiccontributions78
5ContributionActivity78
6Repositories78
7PublicActivity79
5.5仓库80
关于UI80
①用户名(组织名)/仓库名80
②Watch/Star/Fork80
③Code81
④Issue81
⑤PullRequests81
⑥Wiki82
⑦Pulse82
⑧Graphs82
⑨Network82
⑩Settings82
?SSHcloneURL82
?CloneinDesktop82
?DownloadZIP83
acommits83
bbranches83
creleases83
dcontributors83
eCompare&review83
fbranch83
gpath84
hForkthisprojectandCreateanewfile84
ifiles84
文件的相关操作84
Column专栏:通过部分名称搜索文件85
查看差别85
查看分支间的差别85
查看与几天前的差别86
查看与指定日期之间的差别87
5.6Issue87
简洁且表现力丰富的描述方法88
语法高亮89
添加图片90
添加标签以便整理90
添加里程碑以便管理91
Column专栏:了解贡献时的规则!92
Tasklist语法92
通过提交信息操作Issue93
在相关Issue中显示提交93
CloseIssue93
将特定的Issue转换为PullRequest94
5.7PullRequest94
Column专栏:获取diff格式与patch格式的文件96
Conversation96
Column专栏:引用评论96
Commits97
Column专栏:在评论中应用表情98
FilesChanged98
5.8Wiki99
Pages100
History101
Column专栏:在Wiki中显示侧边栏101
5.9Pulse102
activepullrequests103
activeissue103
commits104
Releasespublished104
UnresolvedConversations104
5.10Graphs105
Contributors105
CommitActivity106
CodeFrequency106
Punchcard108
5.11Network108
5.12Settings109
Options109
①Settings109
②Features110
③GitHubPages111
④DangerZone111
Collaborators111
Webhooks&Services112
DeployKeys112
5.13Notifications112
5.14其他功能114
GitHubPages114
GitHubJobs114
GitHubEnterprise114
GitHubAPI115
5.15小结115
Column专栏:在Mac的通知中心查看GitHub的Notifications115
第6章尝试PullRequest117
6.1PullRequest的概要118
什么是PullRequest118
PullRequest的流程118
6.2发送PullRequest前的准备119
查看要修正的源代码120
Fork120
clone120
branch121
为何要在特性分支中进行作业121
确认分支121
创建特性分支121
添加代码122
提交修改122
创建远程分支123
6.3发送PullRequest123
6.4让PullRequest更加有效的方法126
在开发过程中发送PullRequest进行讨论126
明确标出“正在开发过程中”127
不进行Fork直接从分支发送PullRequest128
6.5仓库的维护128
仓库的Fork与clone129
给原仓库设置名称129
获取最新数据130
6.6小结130
第7章接收PullRequest131
7.1采纳PullRequest的方法132
7.2采纳PullRequest前的准备133
代码审查133
查看图片的差别134
2-up134
Swipe135
OnionSkin135
Difference136
在本地开发环境中反映PullRequest的内容136
将接收方的本地仓库更新至最新状态136
获取发送方的远程仓库137
创建用于检查的分支138
合并138
删除分支139
Column专栏:如何提升代码管理技术139
7.3采纳PullRequest139
合并到主分支140
push修改内容141
7.4小结142
Column专栏:请协助我们共同创建互相学习的场所142
第8章与GitHub相互协作的工具及服务143
8.1hub命令144
概要144
安装144
安装145
确认运行情况145
设置别名145
实现shell上的功能补全146
~/.config/hub146
命令146
hubclone146
hubremoteadd147
hubfetch147
hubcherry-pick147
hubfork148
hubpull-request148
hubcheckout148
hubcreate149
hubpush149
hubbrowse150
hubcompare150
Column专栏:让GitHubEnterprise支持hub命令151
8.2TravisCI151
概要151
实际尝试152
编写配置文件152
检测配置文件是否有问题152
与GitHub集成153
将TravisCI的结果添加至README.md155
8.3Coveralls156
概要156
安装157
注册157
添加对象仓库158
编写配置文件158
添加gem159
查看报告160
8.4Gemnasium160
8.5CodeClimate161
8.6Jenkins162
概要162
安装164
创建bot账户165
bot账户的权限设置165
对象为个人账户时165
对象为Organization账户时165
检查设置167
给Jenkins设置SSH密钥167
初次使用Jenkins时167
已经在使用Jenkins时168
GitHubpullrequestbuilderplugin的安装169
Gitplugin的设置170
GithubPullRequestsBuilder的设置170
GithubserverapiURL171
AccessToken171
Adminlist172
job的创建与设置172
GitHubproject172
源码管理172
构建触发器173
构建174
通知结果174
测试执行中的状态175
Failed175
Alliswell175
commitstatus175
通过评论进行控制176
执行任务176
添加至Whitelist176
重新执行任务176
变更指定评论177
8.7小结177
Column专栏:用Coderwall生成GitHub上的个人信息178
第9章使用GitHub的开发流程179
9.1团队使用GitHub时的注意事项180
一切从简180
项目管理工具与GitHub的区别180
项目管理工具与GitHub相异的原因181
不Fork仓库的方法182
9.2GitHubFlow――以部署为中心的开发模式183
9.3GitHubFlow的流程184
随时部署,没有发布的概念184
进行新的作业时要从master分支创建新分支185
在新创建的分支中进行提交186
定期push186
使用PullRequest187
务必让其他开发者进行审查187
合并后立刻部署187
9.4实践GitHubFlow的前提条件188
部署作业完全自动化188
使用部署工具189
通过Web界面进行部署的工具189
导入开发时的注意事项190
重视测试190
让测试自动化190
编写测试代码,通过全部测试190
维护测试代码190
9.5模拟体验GitHubFlow191
Fizzbuzz的说明191
添加新功能192
创建新的分支192
如果尚未clone仓库192
如果之前clone过仓库193
创建特性分支193
实现新功能194
创建PullRequest196
接收反馈196
修正缩进197
添加测试199
培育PullRequest202
PullRequest被合并202
9.6团队实践GitHubFlow时的几点建议203
减小PullRequest的体积204
准备可供试运行的环境204
不要让PullRequest中有太多反馈205
不要积攒PullRequest206
9.7GitHubFlow的小结206
9.8GitFlow――以发布为中心的开发模式207
便于理解的标准流程207
有时显得过于复杂209
9.9导入GitFlow前的准备209
安装git-flow209
Mac下的安装209
Linux下的安装210
确认运行状况210
仓库的初始设置210
创建仓库210
进行gitflow的初始设置211
在远程仓库中也创建develop分支212
9.10模拟体验GitFlow212
master分支与develop分支的区别213
master分支213
develop分支213
在feature中进行的工作213
创建分支214
在分支中进行作业215
发送PullRequest216
通过代码审查提高代码质量217
更新本地的develop分支219
在release分支中进行的工作220
Column专栏:设置默认分支220
创建分支221
分支内的工作222
进行发布与合并222
查看版本标签224
更新到远程仓库225
在hotfix分支中进行的工作226
创建分支226
创建标签和进行发布228
从hotfix分支合并至develop分支230
9.11GitFlow的小结232
Column专栏:版本号的分配规则232
第10章将GitHub应用到企业233
10.1将世界标准的开发环境引入企业现场234
企业引入GitHub的好处234
使用Organization235
确认Github的安全性235
注意维护时间235
查看故障信息236
10.2GitHubEnterprise237
概述238
引入的好处238
引入的弊端239
适合引入GitHubEnterprise的几种情况239
源代码不可外传239
Column专栏:将GitHub的仓库作为Subversion仓库使用240
希望维护与故障时间可控240
10.3能实现Git托管的软件241
Column专栏:Bitbucket241
10.4小结242
附录A支持GitHub的GUI客户端243
A.1GitHubforMac,GitHubforWindows244
A.2SourceTree246
附录B通过Gist轻松实现代码共享247
B.1Gist的特点248
B.2创建Gist248
UI讲解249
1Gistdescription249
2namethisfile249
3language250
4ACEEditor250
5文件250
6AddanotherFile251
7CreateSecretGist251
8CreatePublicGist251
B.3查看Gist252
Gist的菜单252
①GistDetail253
②Revisions253
③DownloadGist253
④Clonethisgist253
⑤Embedthisgist253
⑥Linktothisgist253
文件的菜单254
B.4YourGists254
B.5小结255
内容试读
第 1 章:欢迎来到GitHub的世界 本章将为您讲解GitHub是什么,以及为什么全世界的开发者都在使用它。同时,还会带您一起考察GitHub为开源软件世界带来了怎样的变革。 1.1 什么是GitHub GitHub是为开发者提供Git仓库的托管服务。这是一个让开发者与朋友、同事、同学及陌生人共享代码的完美场所。 GitHub公司与octocat GitHub公司总部位于美国旧金山,拥有一只不知是..
GitHub 这一服务,为开源世界带来了社会化编程的概念。这一概念 影响了全世界众多程序员,说其是软件开发方法的一次革命都不为过。 在这里,我们将详细解说社会化编程的概念。 您听过 SOCIAL CODING(以下称为社会化编程)这个词吗?如果 没有,那么您见过图 1.7 的 LOGO 吗? 这是 GitHubA 曾经使用过的 LOGO。上面附带着 SOCIAL CODING 这一副标题。2013 年 4 月起,GitHub 开始使用图 1.8 中的 LOGO。
图 1.7 GitHub曾经的LOGO
图 1.8 GitHub 的新 LOGO
GitHub 这一服务创造了社会化编程的概念。随着 GitHub 的出现, 软件开发者们才真正意义上拥有了源代码。世界上任何人都可以比从前 更加容易地获得源代码,将其自由更改并加以公开。如今,世界众多程 序员都在通过 GitHub 公开源代码,同时利用 GitHub 支持着自己日常的 软件开发。
在 GitHub 出现之前,软件开发中只有一小部分人拥有更改源代码 的权利,这个特权阶级掌握着开发的主导权。开发者在改写、发布源代码之外,往往需要花更多时间和精力去说服这个特权阶级。这导致了许多起初效率很高的流行软件越发保守化,最终被时代所抛弃。
但是,GitHub的出现为软件开发者的世界带来了真正意义上的“民主”,让所有人都平等地拥有了更改源代码的权利。这在软件开发领域是一场巨大的革命。而革命领导者GitHub的口号便是“社会化编程”。
接下来,我们将深入理解引发这场革命的社会化编程,同时为您讲解其原动力――GitHub这一服务的相关概要。GitHub各个功能将在第3章之后为您详细介绍。
作者:尤小芳
链接:https://www.58edu.cc/article/1513103486668038145.html
文章版权归作者所有,58edu信息发布平台,仅提供信息存储空间服务,接受投稿是出于传递更多信息、供广大网友交流学习之目的。如有侵权。联系站长删除。