這是一份pdf格式免費高清電子版GitHub入門與實踐,該書從Git的基本知識和操作方法入手,詳細介紹了GitHub的各種功能,GitHub與其他工具或服務的協(xié)作,使用GitHub的開發(fā)流程以及如何將GitHub引入到企業(yè)中。在講解GitHub的代表功能Pull Request時,本書專門搭建了供各位讀者實踐的倉庫。點擊本文相應的下載地址進行下載后后你就可以閱讀該github入門與實踐電子書了,想要閱讀這本書的朋友們趕緊來下載吧!
github入門與實踐簡介
該書旨在指導各位讀者如何在開發(fā)現(xiàn)場使用GitHub進行高效開發(fā),適合所有想要使用GitHub進行開發(fā)的程序員或團隊閱讀。
github入門與實踐目錄
第1章 歡迎來到GitHub的世界 1
1.1 什么是GitHub 2
GitHub公司與octocat 2
并不只是Git倉庫的托管服務 3
GitHub的使用情況 3
Column 專欄:GitHub與Git的區(qū)別 4
1.2 使用GitHub會帶來哪些變化 4
協(xié)作形式變化 4
在開發(fā)者之間引發(fā)化學反應的Pull Request 5
對特定用戶進行評論 6
GitHub Flavored Markdown 7
Column 專欄:還可以這樣寫!! 7
能看到更多其他團隊的軟件 7
與開源軟件相同的開發(fā)模式 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 小結(jié) 14
參考資料 14
第2章 Git的導入 17
2.1 誕生背景 18
2.2 什么是版本管理 18
集中型與分散型 19
集中型 19
分散型 19
集中型與分散型哪個更好 20
2.3 安裝 21
Mac與Linux 21
Windows 21
組件的選擇 22
設置環(huán)境變量 22
換行符的處理 23
Git Bash 23
本書所用的環(huán)境 24
2.4 初始設置 24
設置姓名和郵箱地址 24
提高命令輸出的可讀性 25
2.5 小結(jié) 25
第3章 使用GitHub的前期準備 27
3.1 使用前的準備 28
創(chuàng)建賬戶 28
設置頭像 29
設置SSH Key 29
添加公開密鑰 30
使用社區(qū)功能 31
3.2 實際動手使用 31
創(chuàng)建倉庫 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 專欄:公開時的許可協(xié)議 37
進行push 37
3.3 小結(jié) 38
第4章 通過實際操作學習Git 39
4.1 基本操作 40
git init——初始化倉庫 40
git status——查看倉庫的狀態(tài) 40
git add——向暫存區(qū)中添加文件 41
git commit——保存?zhèn)}庫的歷史記錄 42
記述一行提交信息 42
記述詳細提交信息 42
中止提交 43
查看提交后的狀態(tài) 43
git log——查看提交日志 43
只顯示提交信息的第一行 44
只顯示指定目錄、文件的日志 44
顯示文件的改動 45
git diff——查看更改前后的差別 45
查看工作樹和暫存區(qū)的差別 45
查看工作樹和最新提交的差別 46
4.2 分支的操作 47
git branch——顯示分支一覽表 48
git checkout -b——創(chuàng)建、切換分支 48
切換到feature-A分支并進行提交 48
切換到master分支 49
切換回上一個分支 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
推進至feature-A分支合并后的狀態(tài) 55
消除沖突 56
查看沖突部分并將其解決 57
提交解決后的結(jié)果 57
git commit --amend——修改提交信息 58
git rebase -i——壓縮歷史 59
創(chuàng)建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 小結(jié) 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
簡潔且表現(xiàn)力豐富的描述方法 88
語法高亮 89
添加圖片 90
添加標簽以便整理 90
添加里程碑以便管理 91
Column 專欄:了解貢獻時的規(guī)則! 92
Tasklist語法 92
通過提交信息操作Issue 93
在相關Issue中顯示提交 93
Close Issue 93
將特定的Issue轉(zhuǎn)換為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中顯示側(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前的準備 119
查看要修正的源代碼 120
Fork 120
clone 120
branch 121
為何要在特性分支中進行作業(yè) 121
確認分支 121
創(chuàng)建特性分支 121
添加代碼 122
提交修改 122
創(chuàng)建遠程分支 123
6.3 發(fā)送Pull Request 123
6.4 讓Pull Request更加有效的方法 126
在開發(fā)過程中發(fā)送Pull Request進行討論 126
明確標出“正在開發(fā)過程中” 127
不進行Fork直接從分支發(fā)送Pull Request 128
6.5 倉庫的維護 128
倉庫的Fork與clone 129
給原倉庫設置名稱 129
獲取最新數(shù)據(jù) 130
6.6 小結(jié) 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
在本地開發(fā)環(huán)境中反映Pull Request的內(nèi)容 136
將接收方的本地倉庫更新至最新狀態(tài) 136
獲取發(fā)送方的遠程倉庫 137
創(chuàng)建用于檢查的分支 138
合并 138
刪除分支 139
Column 專欄:如何提升代碼管理技術 139
7.3 采納Pull Request 139
合并到主分支 140
push修改內(nèi)容 141
7.4 小結(jié) 142
Column 專欄:請協(xié)助我們共同創(chuàng)建互相學習的場所 142
第8章 與GitHub相互協(xié)作的工具及服務 143
8.1 hub命令 144
概要 144
安裝 144
安裝 145
確認運行情況 145
設置別名 145
實現(xiàn)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的結(jié)果添加至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
創(chuàng)建bot賬戶 165
bot賬戶的權限設置 165
對象為個人賬戶時 165
對象為Organization賬戶時 165
檢查設置 167
給Jenkins設置SSH密鑰 167
初次使用Jenkins時 167
已經(jīng)在使用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的創(chuàng)建與設置 172
GitHub project 172
源碼管理 172
構(gòu)建觸發(fā)器 173
構(gòu)建 174
通知結(jié)果 174
測試執(zhí)行中的狀態(tài) 175
Failed 175
All is well 175
commit status 175
通過評論進行控制 176
執(zhí)行任務 176
添加至White list 176
重新執(zhí)行任務 176
變更指定評論 177
8.7 小結(jié) 177
Column 專欄:用Coderwall生成GitHub上的個人信息 178
第9章 使用GitHub的開發(fā)流程 179
9.1 團隊使用GitHub時的注意事項 180
一切從簡 180
項目管理工具與GitHub的區(qū)別 180
項目管理工具與GitHub相異的原因 181
不Fork倉庫的方法 182
9.2 GitHub Flow——以部署為中心的開發(fā)模式 183
9.3 GitHub Flow的流程 184
隨時部署,沒有發(fā)布的概念 184
進行新的作業(yè)時要從master分支創(chuàng)建新分支 185
在新創(chuàng)建的分支中進行提交 186
定期push 186
使用Pull Request 187
務必讓其他開發(fā)者進行審查 187
合并后立刻部署 187
9.4 實踐GitHub Flow的前提條件 188
部署作業(yè)完全自動化 188
使用部署工具 189
通過Web界面進行部署的工具 189
導入開發(fā)時的注意事項 190
重視測試 190
讓測試自動化 190
編寫測試代碼,通過全部測試 190
維護測試代碼 190
9.5 模擬體驗GitHub Flow 191
Fizzbuzz的說明 191
添加新功能 192
創(chuàng)建新的分支 192
如果尚未clone倉庫 192
如果之前clone過倉庫 193
創(chuàng)建特性分支 193
實現(xiàn)新功能 194
創(chuàng)建Pull Request 196
接收反饋 196
修正縮進 197
添加測試 199
培育Pull Request 202
Pull Request被合并 202
9.6 團隊實踐GitHub Flow時的幾點建議 203
減小Pull Request的體積 204
準備可供試運行的環(huán)境 204
不要讓Pull Request中有太多反饋 205
不要積攢Pull Request 206
9.7 GitHub Flow的小結(jié) 206
9.8 Git Flow——以發(fā)布為中心的開發(fā)模式 207
便于理解的標準流程 207
有時顯得過于復雜 209
9.9 導入Git Flow前的準備 209
安裝git-flow 209
Mac下的安裝 209
Linux下的安裝 210
確認運行狀況 210
倉庫的初始設置 210
創(chuàng)建倉庫 210
進行git flow的初始設置 211
在遠程倉庫中也創(chuàng)建develop分支 212
9.10 模擬體驗Git Flow 212
master分支與develop分支的區(qū)別 213
master分支 213
develop分支 213
在feature中進行的工作 213
創(chuàng)建分支 214
在分支中進行作業(yè) 215
發(fā)送Pull Request 216
通過代碼審查提高代碼質(zhì)量 217
更新本地的develop分支 219
在release分支中進行的工作 220
Column 專欄:設置默認分支 220
創(chuàng)建分支 221
分支內(nèi)的工作 222
進行發(fā)布與合并 222
查看版本標簽 224
更新到遠程倉庫 225
在hotfix分支中進行的工作 226
創(chuàng)建分支 226
創(chuàng)建標簽和進行發(fā)布 228
從hotfix分支合并至develop分支 230
9.11 Git Flow的小結(jié) 232
Column 專欄:版本號的分配規(guī)則 232
第10章 將GitHub應用到企業(yè) 233
10.1 將世界標準的開發(fā)環(huán)境引入企業(yè)現(xiàn)場 234
企業(yè)引入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 能實現(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 通過Gist輕松實現(xiàn)代碼共享 247
B.1 Gist的特點 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入門與實踐電子版內(nèi)容截圖
- PC官方版
- 安卓官方手機版
- IOS官方手機版