精通Git(第2版)

精通Git(第2版)

《精通Git(第2版)》是2020年3月人民郵電出版社出版的圖書,作者是[美]斯科特·查康(Scott Chacon)、本·斯特勞布(Ben Straub)。

基本介紹

  • 中文名:精通Git(第2版)
  • 作者:[美]斯科特·查康(Scott Chacon)、本·斯特勞布(Ben Straub)
  • 出版社:人民郵電出版社
  • 出版時間:2020年3月
  • 頁數:401 頁
  • 定價:89 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115463067
內容簡介,圖書目錄,

內容簡介

Git僅用了幾年時間就一躍成為了幾乎一統商業及開源領域的版本控制系統。本書全面介紹Git進行版本管理的基礎和進階知識。全書共10章,內容由淺入深,展現了普通程式設計師和項目經理如何有效利用Git提高工作效率,掌握分支概念,靈活地將Git用於伺服器和分散式工作流,如何將開發項目遷移到Git,以及如何高效利用GitHub。

圖書目錄

第 1章 入門 1
1.1 關於版本控制 1
1.1.1 本地版本控制系統 1
1.1.2 集中式版本控制系統 2
1.1.3 分散式版本控制系統 3
1.2 Git簡史 4
1.3 Git基礎 4
1.3.1 快照,而非差異 4
1.3.2 幾乎所有操作都在本地執行 5
1.3.3 Git的完整性 6
1.3.4 Git通常只增加數據 6
1.3.5 三種狀態 7
1.4 命令行 8
1.5 安裝Git 8
1.5.1 Linux上的安裝方法 8
1.5.2 Mac上的安裝方法 8
1.5.3 Windows上的安裝方法 9
1.5.4 從源碼安裝 9
1.6 Git的首 次配置 10
1.6.1 用戶身份 11
1.6.2 個人編輯器 11
1.6.3 檢查個人設定 12
1.7 獲取幫助 12
1.8 小結 12
第 2章 Git基礎 13
2.1 獲取Git倉庫 13
2.1.1 在現有中初始化Git倉庫 13
2.1.2 克隆現有倉庫 14
2.2 在Git倉庫中記錄變更 14
2.2.1 查看當前檔案狀態 15
2.2.2 跟蹤新檔案 16
2.2.3 暫存已修改的檔案 16
2.2.4 顯示更簡潔的狀態信息 18
2.2.5 忽略檔案 18
2.2.6 查看已暫存和未暫存的變更 19
2.2.7 提交變更 21
2.2.8 跳過暫存區 22
2.2.9 移除檔案 23
2.2.10 移動檔案 24
2.3 查看提交歷史 25
2.4 撤銷操作 30
2.4.1 撤銷已暫存的檔案 30
2.4.2 撤銷對檔案的修改 31
2.5 遠程倉庫的使用 32
2.5.1 顯示遠程倉庫 32
2.5.2 添加遠程倉庫 33
2.5.3 從遠程倉庫獲取和拉取數據 34
2.5.4 將數據推送到遠程倉庫 34
2.5.5 檢查遠程倉庫 35
2.5.6 刪除和重命名遠程倉庫 36
2.6 標記 36
2.6.1 列舉標籤 36
2.6.2 創建標籤 37
2.6.3 注釋標籤 37
2.6.4 輕量標籤 38
2.6.5 補加標籤 38
2.6.6 共享標籤 39
2.6.7 檢出標籤 39
2.7 Git別名 40
2.8 小結 41
第3章 Git分支機制 42
3.1 分支機制簡述 42
3.1.1 創建新分支 44
3.1.2 切換分支 45
3.2 基本的分支與合併操作 48
3.2.1 基本的分支操作 48
3.2.2 基本的合併操作 52
3.2.3 基本的合併衝突處理 53
3.3 分支管理 55
3.4 與分支有關的工作流 56
3.4.1 長期分支 57
3.4.2 主題分支 58
3.5 遠程分支 59
3.5.1 推送 63
3.5.2 跟蹤分支 64
3.5.3 拉取 66
3.5.4 刪除遠程分支 66
3.6 變基 66
3.6.1 基本的變基操作 66
3.6.2 更有趣的變基操作 69
3.6.3 變基操作的潛在危害 71
3.6.4 只在需要的時候執行變基操作 74
3.6.5 變基操作與合併操作的對比 75
3.7 小結 75
第4章 Git伺服器 76
4.1 協定 76
4.1.1 本地協定 76
4.1.2 HTTP協定 78
4.1.3 SSH協定 79
4.1.4 Git協定 80
4.2 在伺服器上搭建Git 80
4.2.1 將裸倉庫放置在伺服器上 81
4.2.2 小型團隊配置 82
4.3 生成個人的SSH公鑰 83
4.4 設定伺服器 84
4.5 Git守護進程 85
4.6 智慧型HTTP 87
4.7 GitWeb 88
4.8 GitLab 90
4.8.1 安裝 90
4.8.2 管理 91
4.8.3 基本用法 93
4.8.4 協作 93
4.9 第三方託管選擇 94
4.10 小結 94
第5章 分散式Git 95
5.1 分散式工作流 95
5.1.1 集中式工作流 95
5.1.2 集成管理者工作流 96
5.1.3 司令官與副官工作流 97
5.1.4 工作流小結 97
5.2 為項目做貢獻 98
5.2.1 提交準則 98
5.2.2 私有小型團隊 100
5.2.3 私有管理團隊 105
5.2.4 派生的公開項目 110
5.2.5 通過電子郵件接受補丁的公開項目 113
5.2.6 小結 115
5.3 維護項目 115
5.3.1 使用主題分支 115
5.3.2 套用來自電子郵件的補丁 116
5.3.3 檢出遠程分支 118
5.3.4 確定引入內容 119
5.3.5 整合所貢獻的工作結果 120
5.3.6 為發布版打標籤 125
5.3.7 生成構建編號 126
5.3.8 準備發布 126
5.3.9 簡報 127
5.4 小結 127
第6章 GitHub 128
6.1 賬號設定與配置 128
6.1.1 SSH訪問 129
6.1.2 頭像 130
6.1.3 電子郵件地址 131
6.1.4 雙因素身份驗證 132
6.2 為項目做貢獻 132
6.2.1 派生項目 132
6.2.2 GitHub流程 133
6.2.3 拉取請求的高 級用法 140
6.2.4 Markdown 144
6.3 項目維護 148
6.3.1 創建新倉庫 148
6.3.2 添加協作人員 150
6.3.3 管理拉取請求 150
6.3.4 提醒和通知 155
6.3.5 特殊檔案 158
6.3.6 項目管理 159
6.4 組織管理 160
6.4.1 組織的基本操作 160
6.4.2 團隊 160
6.4.3 審計日誌 162
6.5 GitHub腳本化 162
6.5.1 鉤子系統 162
6.5.2 GitHub API 166
6.6 小結 170
第7章 Git工具 171
7.1 選擇修訂版本 171
7.1.1 單個修訂版本 171
7.1.2 提交範圍 175
7.2 互動式暫存 177
7.2.1 暫存和取消暫存檔案 178
7.2.2 暫存補丁 180
7.3 儲藏與清理 181
7.3.1 儲藏工作成果 181
7.3.2 靈活運用儲藏 183
7.3.3 從儲藏中創建分支 184
7.3.4 清理工作 184
7.4 簽署工作 186
7.4.1 GPG簡介 186
7.4.2 簽署標籤 186
7.4.3 驗證標籤 187
7.4.4 簽署提交 187
7.4.5 所有人都得簽署 189
7.5 搜尋 189
7.5.1 git grep 189
7.5.2 Git日誌搜尋 190
7.6 重寫歷史 192
7.6.1 修改**近一次提交 192
7.6.2 修改多個提交訊息 192
7.6.3 重排提交 194
7.6.4 壓縮提交 195
7.6.5 拆分提交 195
7.6.6 超強命令:filter-branch 196
7.7 重置揭秘 197
7.7.1 三棵樹 198
7.7.2 工作流 199
7.7.3 重置的作用 203
7.7.4 利用路徑進行重置 205
7.7.5 壓縮 207
7.7.6 檢出 209
7.7.7 小結 210
7.8 合併的高 級用法 211
7.8.1 合併衝突 211
7.8.2 撤銷合併 220
7.8.3 其他類型的合併 222
7.9 rerere 225
7.10 使用Git調試 230
7.10.1 檔案標註 230
7.10.2 二分查找 232
7.11 子模組 233
7.11.1 開始使用子模組 233
7.11.2 克隆含有子模組的項目 235
7.11.3 開發含有子模組的項目 236
7.11.4 子模組技巧 245
7.11.5 子模組的問題 246
7.12 打包 248
7.13 替換 251
7.14 憑據存儲 257
7.14.1 底層實現 258
7.14.2 自定義憑據快取 259
7.15 小結 261
第8章 自定義Git 262
8.1 配置Git 262
8.1.1 客戶端基本配置 262
8.1.2 Git中的配色 265
8.1.3 外部的合併與diff工具 265
8.1.4 格式化與空白字元 268
8.1.5 伺服器配置 270
8.2 Git屬性 270
8.2.1 二進制檔案 271
8.2.2 關鍵字擴展 273
8.2.3 導出倉庫 276
8.2.4 合併策略 277
8.3 Git鉤子 277
8.3.1 安裝鉤子 277
8.3.2 客戶端鉤子 278
8.3.3 伺服器端鉤子 279
8.4 Git強制策略示例 280
8.4.1 伺服器端鉤子 280
8.4.2 客戶端鉤子 285
8.5 小結 288
第9章 Git與其他系統 289
9.1 作為客戶端的Git 289
9.1.1 Git與Subversion 289
9.1.2 Git與Mercurial 298
9.1.3 Git與Perforce 305
9.1.4 Git與TFS 317
9.2 遷移到Git 325
9.2.1 Subversion 325
9.2.2 Mercurial 327
9.2.3 Perforce 329
9.2.4 TFS 330
9.2.5 自定義導入工具 331
9.3 小結 337
第 10章 Git內幕 338
10.1 底層命令和高層命令 338
10.2 Git對象 339
10.2.1 樹對象 341
10.2.2 提交對象 343
10.2.3 對象存儲 345
10.3 Git引用 346
10.3.1 HEAD 348
10.3.2 標籤對象 348
10.3.3 遠程引用 349
10.4 包檔案 350
10.5 引用規格 352
10.5.1 推送引用規格 354
10.5.2 刪除引用 354
10.6 傳輸協定 354
10.6.1 啞協定 355
10.6.2 智慧型協定 356
10.6.3 協定小結 359
10.7 維護與數據恢復 359
10.7.1 維護 359
10.7.2 數據恢復 360
10.7.3 移除對象 362
10.8 環境變數 365
10.8.1 全局行為 365
10.8.2 倉庫位置 365
10.8.3 路徑規格 366
10.8.4 提交 366
10.8.5 網路 366
10.8.6 差異與合併 367
10.8.7 調試 367
10.8.8 雜項 369
10.9 小結 369
附錄A 其他環境中的Git 370
附錄B 在應用程式中嵌入Git 381
附錄C Git命令 390

相關詞條

熱門詞條

聯絡我們