Git軟體開發實戰

《Git軟體開發實戰》是2017年清華大學出版社出版的圖書,作者是Brent Laster。

基本信息

作者:[美]Brent Laster 著 蒲成 譯
定價:79.80元
印次:1-1
ISBN:9787302479918
出版日期:2017.10.01
印刷日期:2017.10.17

內容簡介

藉助Git的強大功能簡單化開發周期《Git軟體開發實戰》一書提供了在使用Git這一流行的軟體開發工具方面的有效方法,並且為新用戶和資深用戶提供了新指導。《Git軟體開發實戰》包含針對傳統系統的廣泛探討,以及獨特於Git的有助於在識別和規劃差異時借鑑已有技能的注意事項。書中大量的示例和圖示旨在強化關鍵的概念以及增強用戶的理解。

目錄結構

第Ⅰ部分理解Git相關概念

第1章什麼是Git 3

1.1Git的歷史 4

1.2行業標準工具 4

1.3Git生態系統 5

1.3.1核心的Git 5

1.3.2Git託管站點 6

1.3.3自託管軟體包 7

1.3.4易用的包 7

1.3.5外掛程式 9

1.3.6包含Git的工具 9

1.3.7Git庫 9

1.4Git的優勢和挑戰 10

1.4.1優勢 10

1.4.2挑戰 12

1.5本章小結 15

第2章關鍵概念 17

2.1設計概念:面向用戶的 17

2.1.1集中式模型 17

2.1.2分散式模型 18

2.2設計概念:內部的 19

2.2.1差異增量存儲 20

2.2.2快照存儲 20

2.2.3Git的存儲需求 21

2.3倉庫設計注意事項 22

2.3.1倉庫範圍 23

2.3.2檔案範圍 24

2.3.3共享代碼 25

2.4本章小結 26

第3章Git升級模型 27

3.1Git的級別 27

3.1.1開發-測試-生產和Git 27

3.1.2移動內容的核心Git命令 34

3.2本章小結 36

3.3關於連線實驗課程1:

安裝Git 36

連線實驗課程1:安裝Git 37

第Ⅱ部分使用Git

第4章配置和設定 43

4.1在Git中執行命令 43

4.1.1運算元類型 44

4.1.2高層命令和底層命令的

對比 45

4.1.3指定參數 47

4.1.4自動完成 47

4.2配置Git 48

4.2.1告知Git你的身份 49

4.2.2配置範圍 50

4.2.3默認的編輯器 53

4.2.4設定行結束符 54

4.2.5別名 55

4.2.6Windows檔案系統快取 56

4.3初始化倉庫 56

4.3.1gitinit 56

4.3.2gitclone 57

4.4高級主題 58

4.4.1gitinit揭秘 58

4.4.2進一步深入了解Git倉庫 59

4.4.3將config命令映射到

配置檔案 60

4.4.4創建參數化別名 61

4.5本章小結 63

第5章變得高效 65

5.1獲得幫助 65

5.2多倉庫模型 67

5.3添加內容以便追蹤——add 69

5.4完成變更——提交 77

5.4.1先決條件 78

5.4.2提交範圍 79

5.5將一切結合在一起 79

5.5.1修正提交 80

5.5.2提交的結果 82

5.6高級主題 84

5.6.1使用--verbose選項 85

5.6.2完整的訊息提交過程 85

5.6.3自動更正和自動執行 86

5.7本章小結 87

5.8關於連線實驗課程2:創建和

探究Git倉庫並且管理內容 87

連線實驗課程2:創建和探究Git

倉庫並且管理內容 89

第6章追蹤變更 95

6.1gitstatus 95

6.1.1具有狀態的工作流示例 96

6.1.2status命令的簡要形式 100

6.2gitdiff 102

6.2.1Git中的重要符號名稱 102

6.2.2如何思考Git進行對比的

方法 102

6.2.3僅顯示有差異的檔案

名稱 107

6.2.4word-diff 107

6.2.5忽略非關鍵變更 107

6.2.6對比兩次提交 109

6.2.7可視化對比 111

6.2.8其他的對比技巧 114

6.3本章小結 115

6.4連線實驗課程3:通過檔案

狀態生命周期追蹤內容 116

連線實驗課程3:通過檔案狀態

生命周期追蹤內容 117

第7章處理隨時間推移而出現的

變更以及使用標籤 121

7.1log命令 121

7.1.1常用的顯示和過濾選項 122

7.1.2時間限制選項 123

7.1.3按檔案和路徑顯示歷史 124

7.1.4日誌輸出格式 125

7.1.5搜尋歷史 126

7.2gitblame 127

7.3可視化地查看歷史 130

7.4標籤 131

7.4.1查看標籤詳情 132

7.4.2修改標籤 132

7.4.3簡單的標籤示例 133

7.5撤消歷史中的變更 134

7.5.1reset——回滾變更 134

7.5.2完全重置本地環境 135

7.5.3revert——消除變更 136

7.6高級主題 139

7.6.1簽署提交和標籤 139

7.6.2引用日誌 141

7.7本章小結 143

7.8關於連線實驗課程4:使用

Git歷史、標籤和別名 143

連線實驗課程4:使用Git歷史、

標籤和別名 145

第8章處理本地分支 149

8.1什麼是分支? 149

8.1.1來自另一個源管理系統的

示例 150

8.1.2分支的Git模型 150

8.1.3創建一個分支 151

8.1.4簽出一個分支 152

8.1.5將內容添加到分支 153

8.1.6一個工作目錄——多個

分支 154

8.1.7獲得關於分支的信息 157

8.1.8刪除或重命名一個分支 158

8.1.9使用分支進行開發 161

8.2高級主題 167

8.2.1簽出非分支提交 168

8.2.2簽出單獨的檔案 173

8.3本章小結 174

8.4連線實驗課程5:處理

分支 174

連線實驗課程5:處理分支 175

第9章合併內容 177

9.1合併的基礎 177

9.1.1merge命令 178

9.1.2為合併做準備 178

9.1.3合併的類型 178

9.1.4變基——合併歷史 182

9.1.5櫻桃揀選 185

9.1.6櫻桃揀選和變基之間的

差異 188

9.1.7合併操作 189

9.2處理衝突 192

9.2.1合併處理是一種狀態 192

9.2.2衝突的錯誤訊息 193

9.2.3終止操作 194

9.2.4處理衝突——工作流 194

9.2.5解決選項和策略 198

9.3可視化合併 203

9.3.1選擇一款合併工具 205

9.3.2讓合併工具可供Git使用 206

9.4高級主題 206

9.4.1用於衝突標記的可選

樣式 207

9.4.2高級變基場景 208

9.4.3互動式變基 213

9.5本章小結 220

9.6連線實驗課程6:合併實踐 220

連線實驗課程6:合併實踐 221

第10章Git中的支持檔案 223

10.1Git屬性檔案 224

10.1.1Git屬性檔案的作用 224

10.1.2Git屬性的範圍 224

10.1.3檔案格式 226

10.1.4常見用例 226

10.1.5獲取檔案的屬性信息 232

10.2Git忽略檔案 233

10.2.1Git忽略的範圍 233

10.2.2檔案格式 234

10.2.3獲取檔案的忽略信息 236

10.3本章小結 236

第11章用Git做更多的事情 239

11.1修改本地環境中檔案和

目錄的布局 239

11.1.1儲藏 240

11.1.2暫存命令 246

11.1.3mv 246

11.1.4rm 247

11.2用於搜尋的命令 248

11.2.1grep 248

11.2.2Git日誌搜尋 251

11.3為變更處理補丁和存檔 253

11.3.1archive 254

11.3.2bundle 254

11.3.3通過電子郵件共享

補丁 256

11.3.4apply 257

11.3.5am 257

11.3.6用郵件傳送補丁檔案 258

11.4用於清理的命令 260

11.4.1clean 260

11.4.2gc 262

11.4.3notes 263

11.5高級主題 265

11.5.1filter-branch 265

11.5.2rev-list 265

11.5.3bisect 272

11.5.4rerere 279

11.6本章小結 287

11.7連線實驗課程7:刪除、

重命名和儲藏 287

連線實驗課程7:刪除、重命名和

儲藏 289

第12章理解遠程——分支和操作 293

12.1遠程 293

12.1.1遠程訪問協定 295

12.1.2remote命令 297

12.1.3Git如何與遠程環境

互動 299

12.1.4遠程追蹤分支 299

12.1.5gitclone 300

12.1.6查看關於遠程分支的

信息 303

12.1.7push 307

12.1.8fetch 315

12.1.9pull 317

12.2本章小結 320

12.3連線實驗課程8:設定

GitHub賬戶並且克隆倉庫 320

連線實驗課程8:設定GitHub賬戶

並且克隆倉庫 321

第13章理解遠程——變更工作流 323

13.1Git中基本的衝突以及

合併解決工作流 324

13.2託管倉庫 336

13.2.1用於使用Git進行

協作的模型 336

13.2.2對所有內容進行匯總 340

13.3本章小結 341

13.4連線實驗課程9:對遠程

倉庫使用整體工作流 342

連線實驗課程9:對遠程倉庫使用

整體工作流 343

第14章處理Git中的樹和模組 347

14.1工作樹 347

14.1.1添加一棵工作樹 348

14.1.2列出工作樹 350

14.1.3精簡工作樹 351

14.2子模組 352

14.2.1理解子模組如何工作 353

14.2.2添加子模組 353

14.2.3判定子模組狀態 355

14.2.4處理多個子模組 359

14.2.5從子模組的遠程更新

子模組 359

14.2.6查看子模組差異 361

14.2.7超級項目與子模組

對比 362

14.2.8子模組的問題 364

14.2.9更新子模組引用 365

14.2.10在超級項目被更新後

更新子模組 366

14.2.11推送來自子模組的

變更 368

14.2.12子模組與合併 369

14.2.13註銷一個子模組 370

14.3子樹 370

14.3.1添加一個項目作為

子樹 371

14.3.2更新子樹 374

14.3.3使用子樹分隔功能 374

14.3.4從分隔內容中創建

一個新的項目 375

14.3.5子樹推送 376

14.4本章小結 376

14.5連線實驗課程 376

14.5.1連線實驗課程10:使用

工作樹 376

14.5.2連線實驗課程11:使用

子模組 376

14.5.3連線實驗課程12:使用

子樹 377

連線實驗課程10:使用工作樹 379

連線實驗課程11:使用子模組 381

連線實驗課程12:使用子樹 385

第15章使用Git掛鈎程式擴展

Git功能 389

15.1安裝掛鈎 389

15.2更新掛鈎 390

15.3常用掛鈎屬性 391

15.3.1掛鈎域 391

15.3.2控制工作流的返回碼 391

15.3.3工作目錄訪問 392

15.3.4環境變數 392

15.4掛鈎描述 392

15.4.1applypatch-msg 393

15.4.2pre-applypatch 393

15.4.3post-applypatch 393

15.4.4pre-commit 393

15.4.5prepare-commit-msg 395

15.4.6commit-message 396

15.4.7post-commit 398

15.4.8pre-rebase 399

15.4.9post-checkout 399

15.4.10post-merge 399

15.4.11pre-push 400

15.4.12pre-receive 400

15.4.13update 401

15.4.14post-receive 401

15.4.15post-update 402

15.5其他掛鈎 403

15.5.1push-to-checkout 403

15.5.2pre-auto-gc 403

15.5.3post-rewrite 403

15.6掛鈎快速參考 403

15.7本章小結 405

相關詞條

相關搜尋

熱門詞條

聯絡我們