這是一份pdf格式免費(fèi)高清電子版GitHub入門(mén)與實(shí)踐,該書(shū)從Git的基本知識(shí)和操作方法入手,詳細(xì)介紹了GitHub的各種功能,GitHub與其他工具或服務(wù)的協(xié)作,使用GitHub的開(kāi)發(fā)流程以及如何將GitHub引入到企業(yè)中。在講解GitHub的代表功能Pull Request時(shí),本書(shū)專門(mén)搭建了供各位讀者實(shí)踐的倉(cāng)庫(kù)。點(diǎn)擊本文相應(yīng)的下載地址進(jìn)行下載后后你就可以閱讀該github入門(mén)與實(shí)踐電子書(shū)了,想要閱讀這本書(shū)的朋友們趕緊來(lái)下載吧!
github入門(mén)與實(shí)踐簡(jiǎn)介
該書(shū)旨在指導(dǎo)各位讀者如何在開(kāi)發(fā)現(xiàn)場(chǎng)使用GitHub進(jìn)行高效開(kāi)發(fā),適合所有想要使用GitHub進(jìn)行開(kāi)發(fā)的程序員或團(tuán)隊(duì)閱讀。
github入門(mén)與實(shí)踐目錄
第1章 歡迎來(lái)到GitHub的世界 1
1.1 什么是GitHub 2
GitHub公司與octocat 2
并不只是Git倉(cāng)庫(kù)的托管服務(wù) 3
GitHub的使用情況 3
Column 專欄:GitHub與Git的區(qū)別 4
1.2 使用GitHub會(huì)帶來(lái)哪些變化 4
協(xié)作形式變化 4
在開(kāi)發(fā)者之間引發(fā)化學(xué)反應(yīng)的Pull Request 5
對(duì)特定用戶進(jìn)行評(píng)論 6
GitHub Flavored Markdown 7
Column 專欄:還可以這樣寫(xiě)!! 7
能看到更多其他團(tuán)隊(duì)的軟件 7
與開(kāi)源軟件相同的開(kāi)發(fā)模式 8
1.3 社會(huì)化編程 9
1.4 為什么需要社會(huì)化編程 10
不要閉目塞聽(tīng),要接觸不同的文化 10
會(huì)寫(xiě)代碼的程序員更受青睞 11
GitHub最大的特征是“面向人” 11
1.5 GitHub提供的主要功能 12
Git倉(cāng)庫(kù) 12
Organization 12
Issue 13
Wiki 13
Pull Request 13
Column 專欄:GitHub上受到矚目的軟件 14
1.6 小結(jié) 14
參考資料 14
第2章 Git的導(dǎo)入 17
2.1 誕生背景 18
2.2 什么是版本管理 18
集中型與分散型 19
集中型 19
分散型 19
集中型與分散型哪個(gè)更好 20
2.3 安裝 21
Mac與Linux 21
Windows 21
組件的選擇 22
設(shè)置環(huán)境變量 22
換行符的處理 23
Git Bash 23
本書(shū)所用的環(huán)境 24
2.4 初始設(shè)置 24
設(shè)置姓名和郵箱地址 24
提高命令輸出的可讀性 25
2.5 小結(jié) 25
第3章 使用GitHub的前期準(zhǔn)備 27
3.1 使用前的準(zhǔn)備 28
創(chuàng)建賬戶 28
設(shè)置頭像 29
設(shè)置SSH Key 29
添加公開(kāi)密鑰 30
使用社區(qū)功能 31
3.2 實(shí)際動(dòng)手使用 31
創(chuàng)建倉(cāng)庫(kù) 31
Repository name 32
Description 32
Public、Private 32
Initialize this repository with a README 32
Add .gitignore 33
Add a license 33
連接倉(cāng)庫(kù) 33
README.md 33
GitHub Flavored Markdown 34
公開(kāi)代碼 34
clone已有倉(cāng)庫(kù) 34
編寫(xiě)代碼 35
提交 36
Column 專欄:公開(kāi)時(shí)的許可協(xié)議 37
進(jìn)行push 37
3.3 小結(jié) 38
第4章 通過(guò)實(shí)際操作學(xué)習(xí)Git 39
4.1 基本操作 40
git init——初始化倉(cāng)庫(kù) 40
git status——查看倉(cāng)庫(kù)的狀態(tài) 40
git add——向暫存區(qū)中添加文件 41
git commit——保存?zhèn)}庫(kù)的歷史記錄 42
記述一行提交信息 42
記述詳細(xì)提交信息 42
中止提交 43
查看提交后的狀態(tài) 43
git log——查看提交日志 43
只顯示提交信息的第一行 44
只顯示指定目錄、文件的日志 44
顯示文件的改動(dòng) 45
git diff——查看更改前后的差別 45
查看工作樹(shù)和暫存區(qū)的差別 45
查看工作樹(shù)和最新提交的差別 46
4.2 分支的操作 47
git branch——顯示分支一覽表 48
git checkout -b——?jiǎng)?chuàng)建、切換分支 48
切換到feature-A分支并進(jìn)行提交 48
切換到master分支 49
切換回上一個(gè)分支 50
特性分支 50
主干分支 51
git merge——合并分支 51
git log --graph——以圖表形式查看分支 52
4.3 更改提交的操作 53
git reset——回溯歷史版本 53
回溯到創(chuàng)建feature-A分支前 53
創(chuàng)建fix-B分支 54
推進(jìn)至feature-A分支合并后的狀態(tài) 55
消除沖突 56
查看沖突部分并將其解決 57
提交解決后的結(jié)果 57
git commit --amend——修改提交信息 58
git rebase -i——壓縮歷史 59
創(chuàng)建feature-C分支 59
修正拼寫(xiě)錯(cuò)誤 60
更改歷史 61
合并至master分支 63
4.4 推送至遠(yuǎn)程倉(cāng)庫(kù) 63
git remote add——添加遠(yuǎn)程倉(cāng)庫(kù) 64
git push——推送至遠(yuǎn)程倉(cāng)庫(kù) 64
推送至master分支 64
推送至master以外的分支 65
4.5 從遠(yuǎn)程倉(cāng)庫(kù)獲取 65
git clone——獲取遠(yuǎn)程倉(cāng)庫(kù) 65
獲取遠(yuǎn)程倉(cāng)庫(kù) 65
獲取遠(yuǎn)程的feature-D分支 66
向本地的feature-D分支提交更改 67
推送feature-D分支 67
git pull——獲取最新的遠(yuǎn)程倉(cāng)庫(kù)分支 67
4.6 幫助大家深入理解Git的資料 68
Pro Git 68
LearnGitBranching 69
tryGit 69
4.7 小結(jié) 70
第5章 詳細(xì)解說(shuō)GitHub的功能 71
5.1 鍵盤(pán)快捷鍵 72
5.2 工具欄 73
關(guān)于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
關(guān)于UI 75
①News Feed 76
②Pull Requests 76
③Issues 76
④Stars 76
⑤Broadcast 76
⑥Repositories you contribute to 76
⑦Your Repositories 76
5.4 個(gè)人信息 77
關(guān)于UI 77
1 用戶信息 77
2Popular Repositories 78
3Repositories contributed to 78
4Public contributions 78
5Contribution Activity 78
6Repositories 78
7Public Activity 79
5.5 倉(cāng)庫(kù) 80
關(guān)于UI 80
①用戶名(組織名)/倉(cāng)庫(kù)名 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
文件的相關(guān)操作 84
Column專欄:通過(guò)部分名稱搜索文件 85
查看差別 85
查看分支間的差別 85
查看與幾天前的差別 86
查看與指定日期之間的差別 87
5.6 Issue 87
簡(jiǎn)潔且表現(xiàn)力豐富的描述方法 88
語(yǔ)法高亮 89
添加圖片 90
添加標(biāo)簽以便整理 90
添加里程碑以便管理 91
Column 專欄:了解貢獻(xiàn)時(shí)的規(guī)則! 92
Tasklist語(yǔ)法 92
通過(guò)提交信息操作Issue 93
在相關(guān)Issue中顯示提交 93
Close Issue 93
將特定的Issue轉(zhuǎn)換為Pull Request 94
5.7 Pull Request 94
Column 專欄:獲取diff格式與patch格式的文件 96
Conversation 96
Column 專欄:引用評(píng)論 96
Commits 97
Column 專欄:在評(píng)論中應(yīng)用表情 98
Files Changed 98
5.8 Wiki 99
Pages 100
History 101
Column 專欄:在Wiki中顯示側(cè)邊欄 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 小結(jié) 115
Column 專欄:在Mac的通知中心查看GitHub的Notifications 115
第6章 嘗試Pull Request 117
6.1 Pull Request的概要 118
什么是Pull Request 118
Pull Request的流程 118
6.2 發(fā)送Pull Request前的準(zhǔn)備 119
查看要修正的源代碼 120
Fork 120
clone 120
branch 121
為何要在特性分支中進(jìn)行作業(yè) 121
確認(rèn)分支 121
創(chuàng)建特性分支 121
添加代碼 122
提交修改 122
創(chuàng)建遠(yuǎn)程分支 123
6.3 發(fā)送Pull Request 123
6.4 讓Pull Request更加有效的方法 126
在開(kāi)發(fā)過(guò)程中發(fā)送Pull Request進(jìn)行討論 126
明確標(biāo)出“正在開(kāi)發(fā)過(guò)程中” 127
不進(jìn)行Fork直接從分支發(fā)送Pull Request 128
6.5 倉(cāng)庫(kù)的維護(hù) 128
倉(cāng)庫(kù)的Fork與clone 129
給原倉(cāng)庫(kù)設(shè)置名稱 129
獲取最新數(shù)據(jù) 130
6.6 小結(jié) 130
第7章 接收Pull Request 131
7.1 采納Pull Request的方法 132
7.2 采納Pull Request前的準(zhǔn)備 133
代碼審查 133
查看圖片的差別 134
2-up 134
Swipe 135
Onion Skin 135
Difference 136
在本地開(kāi)發(fā)環(huán)境中反映Pull Request的內(nèi)容 136
將接收方的本地倉(cāng)庫(kù)更新至最新?tīng)顟B(tài) 136
獲取發(fā)送方的遠(yuǎn)程倉(cāng)庫(kù) 137
創(chuàng)建用于檢查的分支 138
合并 138
刪除分支 139
Column 專欄:如何提升代碼管理技術(shù) 139
7.3 采納Pull Request 139
合并到主分支 140
push修改內(nèi)容 141
7.4 小結(jié) 142
Column 專欄:請(qǐng)協(xié)助我們共同創(chuàng)建互相學(xué)習(xí)的場(chǎng)所 142
第8章 與GitHub相互協(xié)作的工具及服務(wù) 143
8.1 hub命令 144
概要 144
安裝 144
安裝 145
確認(rèn)運(yùn)行情況 145
設(shè)置別名 145
實(shí)現(xiàn)shell上的功能補(bǔ)全 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
實(shí)際嘗試 152
編寫(xiě)配置文件 152
檢測(cè)配置文件是否有問(wèn)題 152
與GitHub集成 153
將Travis CI的結(jié)果添加至README.md 155
8.3 Coveralls 156
概要 156
安裝 157
注冊(cè) 157
添加對(duì)象倉(cāng)庫(kù) 158
編寫(xiě)配置文件 158
添加gem 159
查看報(bào)告 160
8.4 Gemnasium 160
8.5 Code Climate 161
8.6 Jenkins 162
概要 162
安裝 164
創(chuàng)建bot賬戶 165
bot賬戶的權(quán)限設(shè)置 165
對(duì)象為個(gè)人賬戶時(shí) 165
對(duì)象為Organization賬戶時(shí) 165
檢查設(shè)置 167
給Jenkins設(shè)置SSH密鑰 167
初次使用Jenkins時(shí) 167
已經(jīng)在使用Jenkins時(shí) 168
GitHub pull request builder plugin的安裝 169
Git plugin的設(shè)置 170
Github Pull Requests Builder的設(shè)置 170
Github server api URL 171
Access Token 171
Admin list 172
job的創(chuàng)建與設(shè)置 172
GitHub project 172
源碼管理 172
構(gòu)建觸發(fā)器 173
構(gòu)建 174
通知結(jié)果 174
測(cè)試執(zhí)行中的狀態(tài) 175
Failed 175
All is well 175
commit status 175
通過(guò)評(píng)論進(jìn)行控制 176
執(zhí)行任務(wù) 176
添加至White list 176
重新執(zhí)行任務(wù) 176
變更指定評(píng)論 177
8.7 小結(jié) 177
Column 專欄:用Coderwall生成GitHub上的個(gè)人信息 178
第9章 使用GitHub的開(kāi)發(fā)流程 179
9.1 團(tuán)隊(duì)使用GitHub時(shí)的注意事項(xiàng) 180
一切從簡(jiǎn) 180
項(xiàng)目管理工具與GitHub的區(qū)別 180
項(xiàng)目管理工具與GitHub相異的原因 181
不Fork倉(cāng)庫(kù)的方法 182
9.2 GitHub Flow——以部署為中心的開(kāi)發(fā)模式 183
9.3 GitHub Flow的流程 184
隨時(shí)部署,沒(méi)有發(fā)布的概念 184
進(jìn)行新的作業(yè)時(shí)要從master分支創(chuàng)建新分支 185
在新創(chuàng)建的分支中進(jìn)行提交 186
定期push 186
使用Pull Request 187
務(wù)必讓其他開(kāi)發(fā)者進(jìn)行審查 187
合并后立刻部署 187
9.4 實(shí)踐GitHub Flow的前提條件 188
部署作業(yè)完全自動(dòng)化 188
使用部署工具 189
通過(guò)Web界面進(jìn)行部署的工具 189
導(dǎo)入開(kāi)發(fā)時(shí)的注意事項(xiàng) 190
重視測(cè)試 190
讓測(cè)試自動(dòng)化 190
編寫(xiě)測(cè)試代碼,通過(guò)全部測(cè)試 190
維護(hù)測(cè)試代碼 190
9.5 模擬體驗(yàn)GitHub Flow 191
Fizzbuzz的說(shuō)明 191
添加新功能 192
創(chuàng)建新的分支 192
如果尚未clone倉(cāng)庫(kù) 192
如果之前clone過(guò)倉(cāng)庫(kù) 193
創(chuàng)建特性分支 193
實(shí)現(xiàn)新功能 194
創(chuàng)建Pull Request 196
接收反饋 196
修正縮進(jìn) 197
添加測(cè)試 199
培育Pull Request 202
Pull Request被合并 202
9.6 團(tuán)隊(duì)實(shí)踐GitHub Flow時(shí)的幾點(diǎn)建議 203
減小Pull Request的體積 204
準(zhǔn)備可供試運(yùn)行的環(huán)境 204
不要讓Pull Request中有太多反饋 205
不要積攢Pull Request 206
9.7 GitHub Flow的小結(jié) 206
9.8 Git Flow——以發(fā)布為中心的開(kāi)發(fā)模式 207
便于理解的標(biāo)準(zhǔn)流程 207
有時(shí)顯得過(guò)于復(fù)雜 209
9.9 導(dǎo)入Git Flow前的準(zhǔn)備 209
安裝git-flow 209
Mac下的安裝 209
Linux下的安裝 210
確認(rèn)運(yùn)行狀況 210
倉(cāng)庫(kù)的初始設(shè)置 210
創(chuàng)建倉(cāng)庫(kù) 210
進(jìn)行g(shù)it flow的初始設(shè)置 211
在遠(yuǎn)程倉(cāng)庫(kù)中也創(chuàng)建develop分支 212
9.10 模擬體驗(yàn)Git Flow 212
master分支與develop分支的區(qū)別 213
master分支 213
develop分支 213
在feature中進(jìn)行的工作 213
創(chuàng)建分支 214
在分支中進(jìn)行作業(yè) 215
發(fā)送Pull Request 216
通過(guò)代碼審查提高代碼質(zhì)量 217
更新本地的develop分支 219
在release分支中進(jìn)行的工作 220
Column 專欄:設(shè)置默認(rèn)分支 220
創(chuàng)建分支 221
分支內(nèi)的工作 222
進(jìn)行發(fā)布與合并 222
查看版本標(biāo)簽 224
更新到遠(yuǎn)程倉(cāng)庫(kù) 225
在hotfix分支中進(jìn)行的工作 226
創(chuàng)建分支 226
創(chuàng)建標(biāo)簽和進(jìn)行發(fā)布 228
從hotfix分支合并至develop分支 230
9.11 Git Flow的小結(jié) 232
Column 專欄:版本號(hào)的分配規(guī)則 232
第10章 將GitHub應(yīng)用到企業(yè) 233
10.1 將世界標(biāo)準(zhǔn)的開(kāi)發(fā)環(huán)境引入企業(yè)現(xiàn)場(chǎng) 234
企業(yè)引入GitHub的好處 234
使用Organization 235
確認(rèn)Github的安全性 235
注意維護(hù)時(shí)間 235
查看故障信息 236
10.2 GitHub Enterprise 237
概述 238
引入的好處 238
引入的弊端 239
適合引入GitHub Enterprise的幾種情況 239
源代碼不可外傳 239
Column 專欄:將GitHub的倉(cāng)庫(kù)作為Subversion倉(cāng)庫(kù)使用 240
希望維護(hù)與故障時(shí)間可控 240
10.3 能實(shí)現(xiàn)Git托管的軟件 241
Column 專欄:Bitbucket 241
10.4 小結(jié) 242
附錄A 支持GitHub的GUI客戶端 243
A.1 GitHub for Mac,GitHub for Windows 244
A.2 SourceTree 246
附錄B 通過(guò)Gist輕松實(shí)現(xiàn)代碼共享 247
B.1 Gist的特點(diǎn) 248
B.2 創(chuàng)建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 小結(jié) 255
github入門(mén)與實(shí)踐電子版內(nèi)容截圖
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版