《GitHub入門與實(shí)踐》從Git的基本知識(shí)和操作方法入手,詳細(xì)介紹了GitHub的各種功能,GitHub與其他工具或服務(wù)的協(xié)作,使用GitHub的開發(fā)流程以及如何將GitHub引入到企業(yè)中。在講解GitHub的代表功能Pull Request時(shí),本書專門搭建了供各位讀者實(shí)踐的倉(cāng)庫(kù),邀請(qǐng)各位讀者進(jìn)行Pull Request并共同維護(hù)。
《GitHub入門與實(shí)踐》旨在指導(dǎo)各位讀者如何在開發(fā)現(xiàn)場(chǎng)使用GitHub進(jìn)行高效開發(fā),適合所有想要使用GitHub進(jìn)行開發(fā)的程序員或團(tuán)隊(duì)閱讀。
與全世界程序員分享你的代碼! 1.代碼審查不到位,審查效率低下 2.只有編程者本人能看懂的代碼直接被部署至正式環(huán)境中 3.因低級(jí)代碼錯(cuò)誤導(dǎo)致BUG頻繁出現(xiàn) 4.沒**會(huì)和其他人互相交流代碼,共享知識(shí) ○ 沒有一個(gè)簡(jiǎn)單高效、能在一天之內(nèi)添加多個(gè)功能的開發(fā)流程 GitHub 為我們提供了解決這些問題的機(jī)會(huì)和功能。 本書旨在指導(dǎo)讀者使用GitHub進(jìn)行高效開發(fā)。 1.內(nèi)容全面,系統(tǒng)講解GitHub的功能和實(shí)用技巧 2.圖文直觀,一步步演示GitHub的使用方法 3.實(shí)戰(zhàn)導(dǎo)向,專門搭建實(shí)踐倉(cāng)庫(kù),邀請(qǐng)讀者進(jìn)行Pull Request 并共同維護(hù) 4.包含GitHub的開發(fā)流程和輔助工具,適合需要引入GitHub的公司或團(tuán)隊(duì)直接使用
大塚弘記
將敏捷軟件開發(fā)導(dǎo)入開發(fā)現(xiàn)場(chǎng)的領(lǐng)軍人物,以顧問身份就Web應(yīng)用的開發(fā)及服務(wù)指導(dǎo)過多家企業(yè)和團(tuán)隊(duì)。曾為多家企業(yè)和團(tuán)隊(duì)導(dǎo)入GitHub,在建立一天之內(nèi)多次部署的開發(fā)體制方面擁有豐富經(jīng)驗(yàn)。
第1章 歡迎來到GitHub的世界
1.1 什么是GitHub
GitHub公司與octocat
并不只是Git倉(cāng)庫(kù)的托管服務(wù)
GitHub的使用情況
Column 專欄:GitHub與Git的區(qū)別
1.2 使用GitHub會(huì)帶來哪些變化
協(xié)作形式變化
在開發(fā)者之間引發(fā)化學(xué)反應(yīng)的Pull Request
對(duì)特定用戶進(jìn)行評(píng)論
GitHub Flavored Markdown
Column 專欄:還可以這樣寫!!
能看到更多其他團(tuán)隊(duì)的軟件
與開源軟件相同的開發(fā)模式
1.3 社會(huì)化編程
1.4 為什么需要社會(huì)化編程
不要閉目塞聽,要接觸不同的文化
會(huì)寫代碼的程序員更受青睞
GitHub最大的特征是“面向人”
1.5 GitHub提供的主要功能
Git倉(cāng)庫(kù)
Organization
Issue
Wiki
Pull Request
Column 專欄:GitHub上受到矚目的軟件
1.6 小結(jié)
參考資料
第2章 Git的導(dǎo)入
2.1 誕生背景
2.2 什么是版本管理
集中型與分散型
集中型
分散型
集中型與分散型哪個(gè)更好
2.3 安裝
Mac與Linux
Windows
組件的選擇
設(shè)置環(huán)境變量
換行符的處理
Git Bash
本書所用的環(huán)境
2.4 初始設(shè)置
設(shè)置姓名和郵箱地址
提高命令輸出的可讀性
2.5 小結(jié)
第3章 使用GitHub的前期準(zhǔn)備
3.1 使用前的準(zhǔn)備
創(chuàng)建賬戶
設(shè)置頭像
設(shè)置SSH Key
添加公開密鑰
使用社區(qū)功能
3.2 實(shí)際動(dòng)手使用
創(chuàng)建倉(cāng)庫(kù)
Repository name
Description
Public、Private
Initialize this repository with a README
Add .gitignore
Add a license
連接倉(cāng)庫(kù)
README.md
GitHub Flavored Markdown
公開代碼
clone已有倉(cāng)庫(kù)
編寫代碼
提交
Column 專欄:公開時(shí)的許可協(xié)議
進(jìn)行push
3.3 小結(jié)
第4章 通過實(shí)際操作學(xué)習(xí)Git
4.1 基本操作
git init--初始化倉(cāng)庫(kù)
git status--查看倉(cāng)庫(kù)的狀態(tài)
git add--向暫存區(qū)中添加文件
git commit--保存?zhèn)}庫(kù)的歷史記錄
記述一行提交信息
記述詳細(xì)提交信息
中止提交
查看提交后的狀態(tài)
git log--查看提交日志
只顯示提交信息的第一行
只顯示指定目錄、文件的日志
顯示文件的改動(dòng)
git diff--查看更改前后的差別
查看工作樹和暫存區(qū)的差別
查看工作樹和最新提交的差別
4.2 分支的操作
git branch--顯示分支一覽表
git checkout -b--創(chuàng)建、切換分支
切換到feature-A分支并進(jìn)行提交
切換到master分支
切換回上一個(gè)分支
特性分支
主干分支
git merge--合并分支
git log --graph--以圖表形式查看分支
4.3 更改提交的操作
git reset--回溯歷史版本
回溯到創(chuàng)建feature-A分支前
創(chuàng)建fix-B分支
推進(jìn)至feature-A分支合并后的狀態(tài)
消除沖突
查看沖突部分并將其解決
提交解決后的結(jié)果
git commit --amend--修改提交信息
git rebase -i--壓縮歷史
創(chuàng)建feature-C分支
修正拼寫錯(cuò)誤
更改歷史
合并至master分支
4.4 推送至遠(yuǎn)程倉(cāng)庫(kù)
gitremote add--添加遠(yuǎn)程倉(cāng)庫(kù)
git push--推送至遠(yuǎn)程倉(cāng)庫(kù)
推送至master分支
推送至master以外的分支
4.5 從遠(yuǎn)程倉(cāng)庫(kù)獲取
git clone--獲取遠(yuǎn)程倉(cāng)庫(kù)
獲取遠(yuǎn)程倉(cāng)庫(kù)
獲取遠(yuǎn)程的feature-D分支
向本地的feature-D分支提交更改
推送feature-D分支
git pull--獲取最新的遠(yuǎn)程倉(cāng)庫(kù)分支
4.6 幫助大家深入理解Git的資料
Pro Git
LearnGitBranching
tryGit
4.7 小結(jié)
第5章 詳細(xì)解說GitHub的功能
5.1 鍵盤快捷鍵
5.2 工具欄
關(guān)于UI
1LOGO
2Notifications
3 搜索窗口
4Explore
5Gist
6Blog
7Help
8 頭像、用戶名
9 Create a new
Account settings
Sign out
5.3 控制面板
關(guān)于UI
①News Feed
②Pull Requests
③Issues
④Stars
⑤Broadcast
⑥Repositories you contribute to
⑦Your Repositories
5.4 個(gè)人信息
關(guān)于UI
1 用戶信息
2Popular Repositories
3Repositories contributed to
4Public contributions
5Contribution Activity
6Repositories
7Public Activity
5.5 倉(cāng)庫(kù)
關(guān)于UI
①用戶名(組織名)/倉(cāng)庫(kù)名
②Watch/Star/Fork
③Code
④Issue
⑤Pull Requests
⑥Wiki
⑦Pulse
⑧Graphs
⑨Network
⑩Settings
?SSH clone URL
?Clone in Desktop
?Download ZIP
acommits
bbranches
creleases
dcontributors
eCompare & review
fbranch
gpath
hFork this project and Create a new file
ifiles
文件的相關(guān)操作
Column專欄:通過部分名稱搜索文件
查看差別
查看分支間的差別
查看與幾天前的差別
查看與指定日期之間的差別
5.6 Issue
簡(jiǎn)潔且表現(xiàn)力豐富的描述方法
語法高亮
添加圖片
添加標(biāo)簽以便整理
添加里程碑以便管理
Column 專欄:了解貢獻(xiàn)時(shí)的規(guī)則!
Tasklist語法
通過提交信息操作Issue
在相關(guān)Issue中顯示提交
Close Issue
將特定的Issue轉(zhuǎn)換為Pull Request
5.7 Pull Request
Column 專欄:獲取diff格式與patch格式的文件
Conversation
Column 專欄:引用評(píng)論
Commits
Column 專欄:在評(píng)論中應(yīng)用表情
Files Changed
5.8 Wiki
Pages
History
Column 專欄:在Wiki中顯示側(cè)邊欄
5.9 Pulse
active pull requests
active issue
commits
Releases published
Unresolved Conversations
5.10 Graphs
Contributors
Commit Activity
……
第6章 嘗試Pull Request
第7章 接收Pull Request前的準(zhǔn)備
第8章 與GitHub相互協(xié)作的工具及服務(wù)
第9章 使用 GitHub的開發(fā)流程
第10章 將GitHub應(yīng)用到企業(yè)
附錄A 支持GitHub的GUI客戶端
附錄B 通過Gist輕松實(shí)現(xiàn)代碼共享