热点推荐

查看: 6533|回复: 15

GitHub入门与实践

[复制链接]

1418

主题

1532

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39191
发表于 2018-2-7 08:02:26 | 显示全部楼层 |阅读模式




内容简介  · · · · · ·

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





作者简介  · · · · · ·

大塚弘记

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




目录  · · · · · ·

第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
· · · · · ·


下载地址:
游客,如果您要查看本帖隐藏内容请回复


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

42

帖子

205

积分

永久VIP会员

Rank: 3Rank: 3

积分
205
发表于 2018-2-7 10:12:58 | 显示全部楼层
kankankankan
回复

使用道具 举报

1

主题

84

帖子

358

积分

永久VIP会员

Rank: 3Rank: 3

积分
358
发表于 2018-2-28 07:56:14 | 显示全部楼层
github在手,天下我有
回复

使用道具 举报

0

主题

57

帖子

120

积分

Lv1码农小白

Rank: 1

积分
120
发表于 2018-3-1 17:06:05 | 显示全部楼层
i need study git for my ocmpany
回复

使用道具 举报

0

主题

11

帖子

28

积分

Lv1码农小白

Rank: 1

积分
28
发表于 2018-3-26 18:45:45 | 显示全部楼层
666666666666666666666
回复

使用道具 举报

0

主题

28

帖子

174

积分

永久VIP会员

Rank: 3Rank: 3

积分
174
发表于 2018-5-9 23:35:04 | 显示全部楼层
看看 学习一下
回复

使用道具 举报

0

主题

1

帖子

7

积分

Lv1码农小白

Rank: 1

积分
7
发表于 2018-7-11 14:16:17 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

0

主题

32

帖子

102

积分

Lv1码农小白

Rank: 1

积分
102
发表于 2018-8-14 20:52:30 | 显示全部楼层
回复查看内容!
回复

使用道具 举报

6

主题

387

帖子

1281

积分

永久VIP会员

Rank: 3Rank: 3

积分
1281
发表于 2018-8-29 09:27:49 | 显示全部楼层
123123123123123
回复

使用道具 举报

0

主题

17

帖子

172

积分

Lv1码农小白

Rank: 1

积分
172
发表于 2019-2-25 14:39:18 | 显示全部楼层
git在手天下我有
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表