注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學Git版本控制管理(第2版)

Git版本控制管理(第2版)

Git版本控制管理(第2版)

定 價:¥79.00

作 者: (美)喬恩·羅力格(Jon Loeliger),馬修·麥卡洛(Matthew McCullough)著
出版社: 人民郵電出版社
叢編項:
標 簽: 操作系統(tǒng)/系統(tǒng)開發(fā) 計算機/網(wǎng)絡 系統(tǒng)開發(fā)

ISBN: 9787115382436 出版時間: 2015-03-01 包裝:
開本: 頁數(shù): 字數(shù):  

內容簡介

  Git是一款免費、開源的分布式版本控制系統(tǒng),最早由LinilusTorvalds創(chuàng)建,用于管理Linux內核開發(fā),現(xiàn)已成為分布式版本控制的主流工具?!禛it版本控制管理(第2版)》是學習掌握Git的最佳教程,總共分為21章,其內容涵蓋了如何在多種真實開發(fā)環(huán)境中使用Git;洞察Git的常用案例、初始任務和基本功能;如何在集中和分布式版本控制中使用Git;使用Git管理合并、沖突、補丁和差異;獲得諸如重新定義變基(rebasing)、鉤子(hook)以及處理子模塊(子項目)等的高級技巧;Git如何與SVN版本庫交互(包括SVN向Git的轉換);通過GitHub導航、使用開源項目,并對開源項目做貢獻。《Git版本控制管理(第2版)》適合需要進行版本控制的開發(fā)團隊成員閱讀,對Git感興趣的開發(fā)人員也可以從中獲益。

作者簡介

  Jon Loeliger是一位自由的軟件開發(fā)工程師,對Linux、U-Boot和Git等開源項目頗有貢獻。他在許多會議上(比如Linux World)發(fā)表過Git教程相關的演講,并為Linux Magazine撰寫了多篇Git相關的稿件。在成為自由的軟件開發(fā)工程師之前,他花費了多年的時間來開發(fā)高度優(yōu)化的編譯器、路由器協(xié)議、Linux移植,還偶爾編寫過游戲軟件。Jon持有普度大學計算機科學學位。在閑暇之余,他還會在家里自行釀酒。Matthew McCullough,Github.com的培訓副總裁,在企業(yè)軟件開發(fā)領域有15年的從業(yè)經(jīng)歷,還是一名經(jīng)常往返于世界各地的開源教育家,以及一家美國咨詢公司的聯(lián)合創(chuàng)始人。這所有的經(jīng)歷使得他可以與大家分享利用Git和GitHub來取得成功的相關故事。Matthew是Gradle and Jenkins O’Reilly圖書的特約作者,以及O’Reilly Git Master Class系列圖書的創(chuàng)作者。Matthew經(jīng)常在No Fluff Just Stuff巡回會議上發(fā)表演講,還是DZone Git RefCard的作者,同時還是Denver Open Source Users Groups的主席。

圖書目錄

目錄
第1章 介紹 1
1.1 背景 1
1.2 Git的誕生 2
1.3 先例 4
1.4 時間線 5
1.5 名字有何含義 6
第2章 安裝Git 7
2.1 使用Linux上的二進制發(fā)行版 7
2.1.1 Debian/Ubuntu 7
2.1.2 其他發(fā)行版 8
2.2 獲取源代碼 9
2.3 構建和安裝 10
2.4 在Windows上安裝Git 11
2.4.1 安裝Cygwin版本的Git 12
2.4.2 安裝獨立的Git(msysGit) 13
第3章 起步 16
3.1 Git命令行 16
3.2 Git使用快速入門 18
3.2.1 創(chuàng)建初始版本庫 18
3.2.2 將文件添加到版本庫中 19
3.2.3 配置提交作者 21
3.2.4 再次提交 21
3.2.5 查看提交 21
3.2.6 查看提交差異 23
3.2.7 版本庫內文件的刪除和重命名 23
3.2.8 創(chuàng)建版本庫副本 24
3.3 配置文件 25
3.4 疑問 27
第4章 基本的Git概念 28
4.1 基本概念 28
4.1.1 版本庫 28
4.1.2 Git對象類型 29
4.1.3 索引 30
4.1.4 可尋址內容名稱 30
4.1.5 Git追蹤內容 31
4.1.6 路徑名與內容 31
4.1.7 打包文件 32
4.2 對象庫圖示 33
4.3 Git在工作時的概念 35
4.3.1 進入.git目錄 35
4.3.2 對象、散列和blob 36
4.3.3 文件和樹 37
4.3.4 對Git使用SHA1的一點說明 38
4.3.5 樹層次結構 40
4.3.6 提交 40
4.3.7 標簽 41
第5章 文件管理和索引 43
5.1 關于索引的一切 44
5.2 Git中的文件分類 44
5.3 使用git add 46
5.4 使用git commit的一些注意事項 48
5.4.1 使用git commit --all 48
5.4.2 編寫提交日志消息 50
5.5 使用git rm 50
5.6 使用git mv 52
5.7追蹤重命名注解 54
5.8 .gitignore文件 55
5.9 Git中對象模型和文件的詳細視圖 56
第6章 提交 61
6.1 原子變更集 62
6.2 識別提交 62
6.2.1 絕對提交名 63
6.2.2 引用和符號引用 64
6.2.3 相對提交名 65
6.3 提交歷史記錄 67
6.3.1 查看舊提交 67
6.3.2 提交圖 70
6.3.3 提交范圍 73
6.4 查找提交 77
6.4.1 使用git bisect 78
6.4.2 使用git blame 82
6.4.3 使用Pickaxe 83
第7章 分支 84
7.1 使用分支的原因 84
7.2 分支名 85
7.3 使用分支 86
7.4 創(chuàng)建分支 88
7.5 列出分支名 89
7.6 查看分支 89
7.7 檢出分支 91
7.7.1 檢出分支的一個簡單例子 91
7.7.2 有未提交的更改時進行檢出 92
7.7.3 合并變更到不同分支 94
7.7.4 創(chuàng)建并檢出新分支 95
7.7.5 分離HEAD分支 96
7.8 刪除分支 97
第8章 diff 100
8.1 git diff命令的格式 101
8.2 簡單的git diff例子 104
8.3 git diff和提交范圍 108
8.4 路徑限制的git diff 110
8.5 比較SVN和Git如何產(chǎn)生diff 112
第9章 合并 114
9.1 合并的例子 114
9.1.1 為合并做準備 115
9.1.2 合并兩個分支 115
9.1.3 有沖突的合并 117
9.2 處理合并沖突 121
9.2.1 定位沖突的文件 122
9.2.2 檢查沖突 122
9.2.3 Git是如何追蹤沖突的 126
9.2.4 結束解決沖突 128
9.2.5 中止或重新啟動合并 129
9.3 合并策略 130
9.3.1 退化合并 132
9.3.2 常規(guī)合并 134
9.3.3 特殊提交 135
9.3.4 應用合并策略 136
9.3.5 合并驅動程序 137
9.4 Git怎么看待合并 138
9.4.1 合并和Git的對象模型 138
9.4.2 壓制合并 139
9.4.3 為什么不一個接一個地合并每個變更 140
第10章 更改提交 142
10.1 關于修改歷史記錄的注意事項 143
10.2 使用git reset 144
10.3 使用git cherry-pick 152
10.4 使用git revert 154
10.5 reset、revert和checkout 154
10.6 修改最新提交 155
10.7 變基提交 158
10.7.1 使用git rebase -i 160
10.7.2 變基與合并 164
第11章 儲藏和引用日志 170
11.1 儲藏 170
11.2 引用日志 178
第12章 遠程版本庫 183
12.1 版本庫概念 184
12.1.1 裸版本庫和開發(fā)版本庫 184
12.1.2 版本庫克隆 185
12.1.3 遠程版本庫 186
12.1.4 追蹤分支 186
12.2 引用其他版本庫 187
12.2.1 引用遠程版本庫 188
12.2.2 refspec 189
12.3 使用遠程版本庫的示例 191
12.3.1 創(chuàng)建權威版本庫 192
12.3.2 制作你自己的origin遠程版本庫 193
12.3.3 在版本庫中進行開發(fā) 195
12.3.4 推送變更 196
12.3.5 添加新開發(fā)人員 197
12.3.6 獲取版本庫更新 199
12.4 圖解遠程版本庫開發(fā)周期 203
12.4.1 克隆版本庫 204
12.4.2 交替的歷史記錄 205
12.4.3 非快進推送 205
12.4.4 獲取交替歷史記錄 207
12.4.5 合并歷史記錄 208
12.4.6 合并沖突 208
12.4.7 推送合并后的歷史記錄 209
12.5 遠程版本庫配置 209
12.5.1 使用git remote 210
12.5.2 使用git config 211
12.5.3 使用手動編輯 212
12.6 使用追蹤分支 212
12.6.1 創(chuàng)建追蹤分支 212
12.6.2 領先和落后 215
12.7 添加和刪除遠程分支 216
12.8 裸版本庫和git推送 217
第13章 版本庫管理 219
13.1 談談服務器 219
13.2 發(fā)布版本庫 220
13.2.1 帶訪問控制的版本庫 220
13.2.2 允許匿名讀取訪問的版本庫 221
13.2.3 允許匿名寫入權限的版本庫 225
13.2.4 在GitHub上發(fā)布版本庫 225
13.3 有關發(fā)布版本庫的建議 227
13.4 版本庫結構 228
13.4.1 共享的版本庫結構 228
13.4.2 分布式版本庫結構 228
13.4.3 版本庫結構示例 229
13.5 分布式開發(fā)指南 231
13.5.1 修改公共歷史記錄 231
13.5.2 分離提交和發(fā)布的步驟 232
13.5.3 沒有唯一正確的歷史記錄 232
13.6 清楚你的位置 233
13.6.1 上下游工作流 233
13.6.2 維護者和開發(fā)人員的角色 234
13.6.3 維護者-開發(fā)人員的交互 234
13.6.4 角色的兩面性 235
13.7 多版本庫協(xié)作 236
13.7.1 屬于你自己的工作區(qū) 236
13.7.2 從哪里開始你的版本庫 237
13.7.3 轉換到不同的上游版本庫 238
13.7.4 使用多個上游版本庫 239
13.7.5 復刻項目 241
第14章 補丁 244
14.1 為什么要使用補丁 245
14.2 生成補丁 246
14.3 郵遞補丁 254
14.4 應用補丁 256
14.5 壞補丁 264
14.6 補丁與合并 264
第15章 鉤子 265
15.1 安裝鉤子 267
15.1.1 鉤子示例 267
15.1.2 創(chuàng)建第一個鉤子 268
15.2 可用的鉤子 270
15.2.1 與提交相關的鉤子 270
15.2.2 與補丁相關的鉤子 271
15.2.3 與推送相關的鉤子 272
15.2.4 其他本地版本庫的鉤子 273
第16章 合并項目 274
16.1 舊解決方案:部分檢出 275
16.2 顯而易見的解決方案:將代碼導入項目 276
16.2.1 手動復制導入子項目 277
16.2.2 通過gi

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號