Git是一款讓人一開始覺得很容易學(xué),但卻很難精通的工具。本書除了介紹Git的相關(guān)知識外,還會模擬各種常見的狀況,讓讀者知道應(yīng)該在什么時候使用什么指令。
《Git從入門到精通》共分11個章節(jié),1~3章介紹安裝工具及環(huán)境,對于已經(jīng)安裝完成的讀者可直接從第4章開始閱讀。第5章介紹Git基本的使用方式,雖然難度不高,但卻是整個Git系統(tǒng)的基礎(chǔ)。第6章介紹Git中常用的分支功能以及使用情境,第7~9章則是介紹如何修改現(xiàn)有的歷史記錄、使用標(biāo)簽,以及如何應(yīng)對其他常見的狀況。
前面的內(nèi)容都是在自己的計(jì)算機(jī)上就可以完成的,從第10章開始介紹如何將自己計(jì)算機(jī)里的記錄推一份到線上(GitHub)。*后一章(第11章)介紹團(tuán)隊(duì)開發(fā)時可能會使用的開發(fā)過程Git Flow。
市面上的參考書籍或網(wǎng)絡(luò)教程大多是教大家如何通過終端機(jī)指令來學(xué)習(xí)Git,這讓不少想學(xué)習(xí)Git的新手打了退堂鼓。本書除了教大家如何在終端機(jī)視窗中輸入Git指令,還搭配了圖形界面工具,緩和了讀者的學(xué)習(xí)曲線,讓讀者更容易上手。
1.樹立正確的Git觀念,可以讓你在工作中選用正確的Git指令。
2.終端機(jī)指令搭配圖行界面工具,使學(xué)習(xí)效率倍增。
3.不只教你如何用,還能讓你知道自己在用什么,以及為什么要這么用。
高見龍,程序員,大型技術(shù)研討會(如PHPConf、WebConf、RubyConf Taiwan等)及社群活動(如Rails Girls Taipei、Taipei.rb)的發(fā)起人及主辦人。目前為五倍紅寶石共同創(chuàng)辦人及負(fù)責(zé)人,有20年程序開發(fā)經(jīng)驗(yàn)和近10年的教學(xué)經(jīng)驗(yàn),在臺灣推廣Ruby及Git多年,在各大學(xué)廣為開課,深受學(xué)生歡迎。
第1章 Git入門 1
1.1 Git概述 2
1.2 Git與其他版本控制系統(tǒng)的差異 3
1.3 常見問題 4
第2章 環(huán)境安裝 6
2.1 在Windows操作系統(tǒng)中安裝Git 7
2.2 在macOS操作系統(tǒng)中安裝Git 9
2.3 在Linux操作系統(tǒng)中安裝Git 10
2.4 圖形界面工具 11
第3章 終端機(jī)/命令提示符 13
3.1 終端機(jī)及常用命令介紹 14
3.2 超簡明的Vim操作介紹 17
第4章 設(shè)置Git 19
4.1 用戶設(shè)置 20
4.2 可以給每個項(xiàng)目設(shè)置不同的作者嗎 21
4.3 其他方便的設(shè)置 21
第5章 開始使用Git 24
5.1 新增、初始Repository 25
5.2 把文件交給Git管控 27
5.3 工作區(qū)、暫存區(qū)與存儲庫 33
5.4 查看記錄 35
5.5 如何在Git中刪除文件或變更文件名 39
5.6 修改Commit記錄 46
5.7 追加文件到*近一次的Commit 48
5.8 新增目錄 49
5.9 有些文件不想放在Git中 50
5.10 查看特定文件的Commit記錄 52
5.11 這行代碼是誰寫的 55
5.12 不小心把文件或目錄刪除了 57
5.13 剛才的Commit后悔了,想要拆掉重做 60
5.14 不小心使用hard模式Reset了某個Commit,還救得回來嗎 63
5.15 HEAD是什么 64
5.16 可以只Commit一個文件的部分內(nèi)容嗎 65
5.17 那個長得很像亂碼的SHA-1值是怎樣算出來的 68
5.18 .git目錄中有什么?Part 1 70
5.19 .git目錄中有什么?Part 2 85
第6章 使用分支 92
6.1 使用分支的原因 93
6.2 開始使用分支 93
6.3 對分支的誤解 100
6.4 合并分支 105
6.5 為什么我的分支沒有小耳朵 112
6.6 合并過的分支要保留嗎 115
6.7 不小心把還沒合并的分支刪除了,救得回來嗎 115
6.8 另一種合并方式(使用Rebase) 119
6.9 合并發(fā)生沖突了怎么辦 126
6.10 為什么都說在Git中開分支很便宜 131
6.11 Git如何知道現(xiàn)在是在哪一個分支 133
6.12 HEAD也有縮寫 134
6.13 可以從過去的某個Commit再創(chuàng)建一個新的分支嗎 136
第7章 修改歷史記錄 139
7.1 修改歷史信息 140
7.2 把多個Commit合并為一個Commit 144
7.3 把一個Commit拆解成多個Commit 149
7.4 想要在某些Commit之間再加新的Commit 153
7.5 想要刪除某幾個Commit或調(diào)整Commit的順序 155
7.6 Reset、Revert與Rebase指令有什么區(qū)別 159
第8章 標(biāo)簽 163
8.1 使用標(biāo)簽 164
8.2 標(biāo)簽與分支有什么區(qū)別 168
第9章 其他常見的情況及一些冷知識 170
9.1 手邊的工作做到一半,臨時要切換到別的任務(wù) 171
9.2 不小心把賬號密碼放在Git中了,想把它刪掉該怎么辦 174
9.3 怎樣把文件真正地從Git中移除 178
9.4 你知道Git有資源回收機(jī)制嗎 181
9.5 斷頭(detached HEAD)是怎么一回事 186
第10章 遠(yuǎn)端共同協(xié)作使用GitHub 191
10.1 GitHub概述 192
10.2 將內(nèi)容Push到GitHub上 193
10.3 Pull下載更新 199
10.4 為什么有時候推不上去 203
10.5 從服務(wù)器上取得Repository 205
10.6 Clone與Pull指令的區(qū)別 207
10.7 與其他開發(fā)者的互動使用PullRequest(PR) 207
10.8 怎樣跟上當(dāng)初fork的項(xiàng)目的進(jìn)度 213
10.9 怎么刪除遠(yuǎn)端的分支 215
10.10 聽說git push -f指令很可怕,什么情況下可以使用呢 217
10.11 使用GitHub免費(fèi)制作個人網(wǎng)站 219
10.12 一定要有GitHub才能得到他人更新的文件嗎 222
第11章 使用Git Flow 224
Git Flow是什么?為什么需要它 225