Git軟件開發實戰(簡體書)
商品簡介
◆ 提供基本Git模型和整個工作流處理的清晰理解
◆ 包含常用源管理概念和命令的Git版本
◆ 展示如何追蹤變更、處理分支以及利用Git完整功能的優勢
◆ 包含現實環境中的示例,以便熟練掌握和更好地消化這些概念
◆ 提供有助于可視化關鍵理念和工作流的簡單、清晰圖示
◆ 重點介紹不常為人知的Git特性以便得到額外的收益
◆ 展示如何避免新用戶常犯的錯誤和失誤
作者簡介
名人/編輯推薦
目次
目 錄
目 錄
第Ⅰ部分 理解Git相關概念
章 什么是Git 3
1.1 Git的歷史 4
1.2 行業標準工具 4
1.3 Git生態系統 5
1.3.1 核心的Git 5
1.3.2 Git托管站點 6
1.3.3 自托管軟件包 7
1.3.4 易用的包 7
1.3.5 插件 9
1.3.6 包含Git的工具 9
1.3.7 Git庫 9
1.4 Git的優勢和挑戰 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.3 Git的存儲需求 21
2.3 倉庫設計注意事項 22
2.3.1 倉庫范圍 23
2.3.2 文件范圍 24
2.3.3 共享代碼 25
2.4 本章小結 26
第3章 Git升級模型 27
3.1 Git的級別 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.1 gitinit 56
4.3.2 gitclone 57
4.4 高級主題 58
4.4.1 gitinit揭秘 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.1 gitstatus 95
6.1.1 具有狀態的工作流示例 96
6.1.2 status命令的簡要形式 100
6.2 git diff 102
6.2.1 Git中的重要符號名稱 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.1 log命令 121
7.1.1 常用的顯示和過濾選項 122
7.1.2 時間限制選項 123
7.1.3 按文件和路徑顯示歷史 124
7.1.4 日志輸出格式 125
7.1.5 搜索歷史 126
7.2 gitblame 127
7.3 可視化地查看歷史 130
7.4 標簽 131
7.4.1 查看標簽詳情 132
7.4.2 修改標簽 132
7.4.3 簡單的標簽示例 133
7.5 撤消歷史中的變更 134
7.5.1 reset——回滾變更 134
7.5.2 完全重置本地環境 135
7.5.3 revert——消除變更 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.1 merge命令 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
0章 Git中的支持文件 223
10.1 Git屬性文件 224
10.1.1 Git屬性文件的作用 224
10.1.2 Git屬性的范圍 224
10.1.3 文件格式 226
10.1.4 常見用例 226
10.1.5 獲取文件的屬性信息 232
10.2 Git忽略文件 233
10.2.1 Git忽略的范圍 233
10.2.2 文件格式 234
10.2.3 獲取文件的忽略信息 236
10.3 本章小結 236
1章 用Git做更多的事情 239
11.1 修改本地環境中文件和
目錄的布局 239
11.1.1 儲藏 240
11.1.2 暫存命令 246
11.1.3 mv 246
11.1.4 rm 247
11.2 用于搜索的命令 248
11.2.1 grep 248
11.2.2 Git日志搜索 251
11.3 為變更處理補丁和存檔 253
11.3.1archive 254
11.3.2bundle 254
11.3.3 通過電子郵件共享
補丁 256
11.3.4 apply 257
11.3.5 am 257
11.3.6 用郵件發送補丁文件 258
11.4 用于清理的命令 260
11.4.1 clean 260
11.4.2 gc 262
11.4.3 notes 263
11.5 高級主題 265
11.5.1filter-branch 265
11.5.2rev-list 265
11.5.3bisect 272
11.5.4 rerere 279
11.6 本章小結 287
11.7 連接實驗課程7:刪除、
重命名和儲藏 287
連接實驗課程7:刪除、重命名和
儲藏 289
2章 理解遠程——分支和操作 293
12.1 遠程 293
12.1.1 遠程訪問協議 295
12.1.2remote命令 297
12.1.3 Git如何與遠程環境
交互 299
12.1.4 遠程追蹤分支 299
12.1.5 gitclone 300
12.1.6 查看關于遠程分支的
信息 303
12.1.7 push 307
12.1.8 fetch 315
12.1.9 pull 317
12.2 本章小結 320
12.3 連接實驗課程8:設置
GitHub賬戶并且克隆倉庫 320
連接實驗課程8:設置GitHub賬戶
并且克隆倉庫 321
3章 理解遠程——變更工作流 323
13.1 Git中基本的沖突以及
合并解決工作流 324
13.2 托管倉庫 336
13.2.1 用于使用Git進行
協作的模型 336
13.2.2 對所有內容進行匯總 340
13.3 本章小結 341
13.4 連接實驗課程9:對遠程
倉庫使用整體工作流 342
連接實驗課程9:對遠程倉庫使用
整體工作流 343
4章 處理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
5章 使用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-mit 393
15.4.5prepare-mit-msg 395
15.4.6mit-message 396
15.4.7post-mit 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
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。