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