Git高效實踐

吳子俊

  • 出版商: 清華大學
  • 出版日期: 2025-01-01
  • 定價: $654
  • 售價: 8.5$556
  • 語言: 簡體中文
  • ISBN: 7302677190
  • ISBN-13: 9787302677192
  • 下單後立即進貨 (約4週~6週)

  • Git高效實踐-preview-1
  • Git高效實踐-preview-2
  • Git高效實踐-preview-3
Git高效實踐-preview-1

相關主題

商品描述

"本書是一本全面介紹?Git?版本控制系統的實踐指南和參考手冊。這本書將幫助讀者掌握?Git?的核心概念和操作技巧,同時教授如何使用?Git?進行高效的版本控制和團隊協作。筆者將從?0?到?1,由淺入深地對?Git?的操作進行講解。 本書共分為?17?章,全方位圍繞?Git?的使用技巧與原理進行講解。書中絕大多數的命令都配有專門的實戰案例,以幫助讀者更好地理解。本書還提供了案例代碼的每個步驟的源代碼,以便於讀者觀察和思考,通過結合命令解析、概念闡述、流程圖以及實戰案例,幫助讀者全面吸收並融會貫通所學知識。 無論您是前端或後端開發工程師、在校學生或初學者,還是具有一定經驗的開發者,本書都將為您提供寶貴的知識參考和指導。它將成為您學習?Git?之路上的明燈。"

目錄大綱

目    錄

第1章  Git概述 1

1.1  項目協同開發 1

1.2  Git簡介 2

1.3  集中式與分佈式版本控制

系統 3

1.3.1  集中式版本控制系統 3

1.3.2  分佈式版本控制系統 4

1.4  Git的使用流程 5

1.4.1  本地倉庫 6

1.4.2  協同開發 7

1.5  創建 Git 倉庫 7

1.5.1  初始化Git倉庫 7

1.5.2  Git的幫助文檔 9

1.6  Git的配置 10

1.6.1  Git的配置等級 11

1.6.2  Git的配置分類 12

1.6.3  讀取Git配置 12

1.6.4  設置Git配置 13

1.6.5  Git的初始化配置 15

第2章  Git的基本使用 17

2.1  Git基本操作命令 17

2.2  暫存區的概念 21

2.2.1  暫存區的工作流程 21

2.2.2  查看暫存區 22

2.3  Git的工作空間狀態 24

2.3.1  nothing to commit 24

2.3.2  Untracked files 25

2.3.3  Changes to be 

committed 26

2.3.4  Changes not staged for 

commit 27

第3章  Git其他常用命令 29

3.1  diff命令——文件對比 29

3.1.1  工作空間與暫存區文件

對比 29

3.1.2  版本庫與暫存區文件

對比 30

3.2  rm命令——文件刪除 31

3.2.1  普通方式刪除 31

3.2.2  git rm命令刪除 33

3.3  mv命令——文件改名 36

3.3.1  普通方式重命名 37

3.3.2  使用git mv改名 38

3.4  log命令——日誌查詢 39

3.4.1  git log命令的使用 40

3.4.2  格式化日誌 41

3.4.3  日期格式化 42

3.5  Git文件忽略 44

3.5.1  忽略文件的使用 44

3.5.2  強制追蹤 45

3.5.3  忽略規則的優先級 46

3.5.4  忽略規則的匹配語法 46

第4章  Git底層對象 49

4.1  Git對象的概念與介紹 49

4.2  Blob對象 50

4.2.1  Blob對象簡介 50

4.2.2  Blob對象的使用 50

4.2.3  Blob的存儲方式 53

4.3  Tree對象 53

4.3.1  Tree對象簡介 53

4.3.2  暫存區與Tree對象 54

4.3.3  生成Tree對象 54

4.3.4  讀取Tree對象 56

4.4  Commit對象 62

4.4.1  Commit對象簡介 62

4.4.2  生成Commit對象 63

4.4.3  指定父級Commit對象

提交 65

4.5  Tag對象 66

4.5.1  Tag對象簡介 66

4.5.2  Tag對象的使用 66

第5章  Git命令原理 70

5.1  add命令原理 70

5.2  commit命令原理 71

5.3  文件刪除原理 73

5.3.1  普通方式刪除 74

5.3.2  git rm命令原理 76

5.4  文件改名原理 78

5.4.1  普通方式改名 78

5.4.2  git mv命令原理 80

第6章  Git分支的使用 83

6.1  Git分支概述 83

6.1.1  Git分支簡介 83

6.1.2  Git分支原理 84

6.2  分支的使用 86

6.2.1  創建分支 87

6.2.2  查看分支 88

6.2.3  刪除分支 88

6.3  切換分支 89

6.3.1  checkout切換分支 89

6.3.2  switch切換分支 91

6.4  切換分支原理 92

6.4.1  影響工作空間 94

6.4.2  影響暫存區 97

6.4.3  分離頭指針 100

6.5  checkout命令的其他功能 102

6.5.1  撤銷修改 102

6.5.2  強制切換 103

6.6  Git的分支狀態存儲 104

6.6.1  git stash命令 104

6.6.2  Git存儲的基本使用 105

6.6.3  Git存儲的其他用法 109

6.6.4  Git存儲與暫存區 113

6.6.5  Git存儲的原理 114

6.7  工作樹的使用 118

6.7.1  工作樹簡介 118

6.7.2  git worktree的使用 119

6.7.3  git worktree詳細

用法 121

第7章  分支合並 123

7.1  分支開發路線 123

7.1.1  同軸開發路線 123

7.1.2  分叉開發路線 125

7.2  分支合並的分類 126

7.2.1  快進式合並分支 126

7.2.2  典型式合並分支 129

7.3  Git的代碼沖突 132

7.3.1  代碼沖突的分類與

特點 132

7.3.2  快進式合並代碼

沖突 133

7.3.3  典型式合並代碼

沖突 138

7.4  Git的代碼沖突原理 142

7.4.1  兩路合並算法 142

7.4.2  三路合並算法 143

7.4.3  遞歸三路合並 149

7.5  git merge命令詳解 153

7.5.1  git merge其他用法 153

7.5.2  git merge的可選

參數 155

7.5.3  分支合並的策略 158

7.6  git rebase命令 161

7.6.1  git rebase命令簡介 161

7.6.2  git rebase與git merge 162

7.6.3  交互式Rebase 166

7.7  git cherry-pick命令 175

7.7.1  git cherry-pick命令

簡介 176

7.7.2  cherry-pick與merge 176

第8章  Git數據恢復與還原 183

8.1  Git的還原——restore命令 183

8.1.1  還原工作空間 184

8.1.2  還原暫存區 184

8.1.3  同時還原暫存區和

工作空間 186

8.2  修正提交——amend命令 187

8.2.1  提交日誌修正 187

8.2.2  提交內容修正 188

8.2.3  提交文件修正 189

8.3  Git的數據回退——

reset命令 190

8.3.1  回退HEAD指針 190

8.3.2  回退暫存區 193

8.3.3  回退工作空間 195

第9章  遠程協同開發 197

9.1  遠程倉庫簡介 197

9.1.1  GitHub 197

9.1.2  Gitee 198

9.1.3  其他托管平臺 198

9.2  發布遠程倉庫 200

9.2.1  協同開發工作流程 201

9.2.2  創建遠程倉庫 202

9.2.3  推送倉庫 203

9.3  協同開發相關命令 206

9.3.1  remote命令的使用 206

9.3.2  clone命令的使用 207

9.3.3  fetch命令的使用 208

9.3.4  pull命令的使用 211

9.4  遠程跟蹤分支 212

9.4.1  遠程分支的創建 213

9.4.2  遠程跟蹤分支的

創建 215

9.5  遠程協作代碼沖突 221

9.5.1  分支合並的情況 221

9.5.2  遠程協作的情況 227

9.6  用戶信息的配置 233

第10章  多人協同開發 236

10.1  多人協同開發的場景 236

10.1.1  場景1——單人

開發 236

10.1.2  場景2——多人共同

開發 237

10.1.3  場景3——多人獨立

開發 238

10.2  進行多人協同 238

10.2.1  模擬多賬號協同

開發 239

10.2.2  Pull Request的

使用 243

第11章  TortoiseGit圖形化工具 250

11.1  TortoiseGit簡介 250

11.2  TortoiseGit的基本使用 252

11.2.1  創建倉庫 252

11.2.2  添加 253

11.2.3  提交 254

11.2.4  對比 255

11.2.5  改名 256

11.2.6  刪除 258

11.2.7  日誌 259

11.2.8  標簽的使用 260

11.2.9  文件忽略 261

11.3  TortoiseGit數據恢復 262

11.3.1  restore數據還原 262

11.3.2  amend提交修正 264

11.3.3  reset數據回退 265

11.4  TortoiseGit操作分支 271

11.4.1  創建分支 272

11.4.2  切換分支 273

11.4.3  合並分支 274

11.4.4  分支合並解決

沖突 275

11.5  分支狀態存儲 278

11.5.1  使用存儲 278

11.5.2  查看存儲 280

11.5.3  讀取存儲 280

11.5.4  刪除存儲 281

11.6  TortoiseGit分支高級操作 282

11.6.1  rebase操作 282

11.6.2  cherry-pick操作 286

11.7  TortoiseGit協同開發 290

11.7.1  remote 290

11.7.2  push 292

11.7.3  clone 293

11.7.4  fetch 294

11.7.5  pull 295

11.7.6  模擬協同開發

沖突 296

第12章  IntelliJ IDEA集成Git插件的

使用 299

12.1  Git插件的基本使用 299

12.1.1  IDEA綁定Git

插件 299

12.1.2  提交項目 301

12.1.3  添加忽略文件 302

12.1.4  比較 306

12.1.5  改名 307

12.1.6  刪除 307

12.1.7  日誌 307

12.1.8  標簽 309

12.2  Git插件數據恢復 310

12.2.1  restore數據還原 311

12.2.2  amend提交修正 311

12.2.3  reset數據回退 312

12.3  分支的操作 315

12.3.1  創建分支 315

12.3.2  切換分支 317

12.3.3  合並分支 317

12.3.4  分支合並解決沖突 318

12.4  分支狀態存儲 321

12.5  分支高級操作 322

12.5.1  rebase操作 322

12.5.2  cherry-pick操作 325

12.6  協同開發 327

12.6.1  remote 327

12.6.2  push 328

12.6.3  clone 329

12.6.4  fetch 330

12.6.5  pull 332

12.6.6  模擬協同開發沖突 334

第13章  協同開發命令詳細用法 336

13.1  push命令 336

13.1.1  push命令的使用

方式 336

13.1.2  push命令的常用

參數 339

13.1.3  push命令常用參數

演示 340

13.1.4  上游分支 342

13.1.5  修剪分支 345

13.1.6  強制推送 346

13.2  fetch命令 348

13.2.1  fetch命令的常用

參數 348

13.2.2  fetch命令常用參數

演示 349

13.2.3  強制獲取 351

13.3  pull命令 352

13.3.1  pull命令的常用

參數 353

13.3.2  pull命令常用參數

演示 353

13.3.3  pull變基操作 356

13.3.4  強制拉取 360

第14章  Git補丁 363

14.1  Git補丁語法 363

14.2  git apply應用補丁 364

14.2.1  git apply使用示例 364

14.2.2  git apply舊版本

問題 368

14.3  git format-patch生成補丁 368

14.4  git am應用補丁 371

14.4.1  git am使用示例 371

14.4.2  git am解決沖突 372

第15章  Git工作流 375

15.1  Git Flow中的分支 375

15.2  使用Git Flow模擬開發 377

15.3  使用Git Flow Script開發 380

第16章  Git鉤子 387

16.1  鉤子的作用 387

16.1.1  客戶端鉤子 387

16.1.2  服務端鉤子 388

16.2  使用鉤子 388

16.2.1  編寫pre-commit

鉤子 389

16.2.2  編寫commit-msg

鉤子 390

16.2.3  採用Java實現

鉤子 391

第17章  Git的配置項 393

17.1  git config命令 393

17.1.1  查詢信息類 393

17.1.2  作用域類 394

17.1.3  屬性操作類 396

17.2  .git目錄詳解 401

17.2.1  .git目錄中文件夾的

說明 401

17.2.2  .git目錄中文件的

說明 404

17.3  Git客戶端配置 404

17.3.1  user配置項 405

17.3.2  alias配置項 405

17.3.3  credential配置項 407

17.3.4  merge配置項 412

17.3.5  push配置項 414

17.3.6  其他配置項 416

17.4  Git服務端配置 418

17.4.1  receive配置項 419

17.4.2  http配置項 420

17.4.3  gc配置項 421