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

Git版本控製管理(第2版) pdf epub mobi txt 電子書 下載2025

出版者:人民郵電齣版社
作者:[美]喬恩 羅力格(Jon Loeliger)
出品人:
頁數:386
译者:王迪
出版時間:2015-3
價格:79.00
裝幀:
isbn號碼:9787115382436
叢書系列:
圖書標籤:
  • Git
  • 版本控製
  • 軟件工程
  • 編程
  • 軟件開發
  • 計算機
  • github
  • GitHub
  • Git
  • 版本控製
  • 編程
  • 軟件開發
  • 版本管理
  • 開發工具
  • 源碼管理
  • 計算機科學
  • 軟件工程
  • 編程學習
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

Git是一款免費、開源的分布式版本控製係統,最早由LinilusTorvalds創建,用於管理Linux內核開發,現已成為分布式版本控製的主流工具。

《Git版本控製管理(第2版)》是學習掌握Git的最佳教程,總共分為21章,其內容涵蓋瞭如何在多種真實開發環境中使用Git;洞察Git的常用案例、初始任務和基本功能;如何在集中和分布式版本控製中使用Git;使用Git管理閤並、衝突、補丁和差異;獲得諸如重新定義變基(rebasing)、鈎子(hook)以及處理子模塊(子項目)等的高級技巧;Git如何與SVN版本庫交互(包括SVN嚮Git的轉換);通過GitHub導航、使用開源項目,並對開源項目做貢獻。

《Git版本控製管理(第2版)》適閤需要進行版本控製的開發團隊成員閱讀,對Git感興趣的開發人員也可以從中獲益。

著者簡介

Jon Loeliger是一位自由的軟件開發工程師,對Linux、U-Boot和Git等開源項目頗有貢獻。他在許多會議上(比如Linux World)發錶過Git教程相關的演講,並為Linux Magazine撰寫瞭多篇Git相關的稿件。在成為自由的軟件開發工程師之前,他花費瞭多年的時間來開發高度優化的編譯器、路由器協議、Linux移植,還偶爾編寫過遊戲軟件。Jon持有普度大學計算機科學學位。在閑暇之餘,他還會在傢裏自行釀酒。

Matthew McCullough,Github.com的培訓副總裁,在企業軟件開發領域有15年的從業經曆,還是一名經常往返於世界各地的開源教育傢,以及一傢美國谘詢公司的聯閤創始人。這所有的經曆使得他可以與大傢分享利用Git和GitHub來取得成功的相關故事。Matthew是Gradle and Jenkins O’Reilly圖書的特約作者,以及O’Reilly Git Master Class係列圖書的創作者。Matthew經常在No Fluff Just Stuff巡迴會議上發錶演講,還是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上的二進製發行版 7
2.1.1 Debian/Ubuntu 7
2.1.2 其他發行版 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 創建初始版本庫 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 創建版本庫副本 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 創建分支 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 創建並檢齣新分支 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如何産生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 常規閤並 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 裸版本庫和開發版本庫 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 創建權威版本庫 192
12.3.2 製作你自己的origin遠程版本庫 193
12.3.3 在版本庫中進行開發 195
12.3.4 推送變更 196
12.3.5 添加新開發人員 197
12.3.6 獲取版本庫更新 199
12.4 圖解遠程版本庫開發周期 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 創建追蹤分支 212
12.6.2 領先和落後 215
12.7 添加和刪除遠程分支 216
12.8 裸版本庫和git推送 217
第13章 版本庫管理 219
13.1 談談服務器 219
13.2 發布版本庫 220
13.2.1 帶訪問控製的版本庫 220
13.2.2 允許匿名讀取訪問的版本庫 221
13.2.3 允許匿名寫入權限的版本庫 225
13.2.4 在GitHub上發布版本庫 225
13.3 有關發布版本庫的建議 227
13.4 版本庫結構 228
13.4.1 共享的版本庫結構 228
13.4.2 分布式版本庫結構 228
13.4.3 版本庫結構示例 229
13.5 分布式開發指南 231
13.5.1 修改公共曆史記錄 231
13.5.2 分離提交和發布的步驟 232
13.5.3 沒有唯一正確的曆史記錄 232
13.6 清楚你的位置 233
13.6.1 上下遊工作流 233
13.6.2 維護者和開發人員的角色 234
13.6.3 維護者-開發人員的交互 234
13.6.4 角色的兩麵性 235
13.7 多版本庫協作 236
13.7.1 屬於你自己的工作區 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 創建第一個鈎子 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 通過git pull -s subtree導入子項目 278
16.2.3 將更改提交到上遊 282
16.3 自動化解決方案:使用自定義腳本檢齣子項目 283
16.4 原生解決方案:gitlink和git submodule 284
16.4.1 gitlink 284
16.4.2 git submodule命令 287
第17章 子模塊最佳實踐 290
17.1 子模塊命令 291
17.2 為什麼要使用子模塊 291
17.3 子模塊準備 292
17.4 為什麼是隻讀的 293
17.5 為什麼不用隻讀的 293
17.6 檢查子模塊提交的散列 293
17.7 憑據重用 294
17.8 用例 295
17.9 版本庫的多級嵌套 296
17.10 子模塊的未來 296
第18章 結閤SVN版本庫使用Git 297
18.1 例子:對單一分支的淺剋隆 297
18.1.1 在Git中進行修改 300
18.1.2 在提交前進行抓取操作 301
18.1.3 通過git svn rebase提交 302
18.2 在git svn中使用推送、拉取、分支和閤並 303
18.2.1 直接使用提交ID 304
18.2.2 剋隆所有分支 305
18.2.3 分享版本庫 307
18.2.4 閤並迴SVN 308
18.3 在和SVN一起使用時的一些注意事項 310
18.3.1 svn:ignore與.gitignore 310
18.3.2 重建git-svn的緩存 310
第19章 高級操作 312
19.1 使用git filter-branch 312
19.1.1 使用git filter-branch的例子 314
19.1.2 filter-branch的誘惑 319
19.2 我如何學會喜歡上git rev-list 320
19.2.1 基於日期的檢齣 320
19.2.2 獲取文件的舊版本 323
19.3 數據塊的交互式暫存 325
19.4 恢復遺失的提交 336
19.4.1 git fsck命令 336
19.4.2 重新連接遺失的提交 340
第20章 提示、技巧和技術 341
20.1 對髒的工作目錄進行交互式變基 341
20.2 刪除剩餘的編輯器文件 342
20.3 垃圾迴收 342
20.4 拆分版本庫 344
20.5 恢復提交的小貼士 345
20.6 轉換Subversion的技巧 346
20.6.1 普適建議 346
20.6.2 刪除SVN導入後的trunk 346
20.6.3 刪除SVN提交ID 347
20.7 操作來自兩個版本庫的分支 348
20.8 從上遊變基中恢復 348
20.9 定製Git命令 349
20.10 快速查看變更 350
20.11 清理 351
20.12 使用git-grep來搜索版本庫 352
20.13 更新和刪除ref 354
20.14 跟蹤移動的文件 354
20.15 保留但不追蹤文件 355
20.16 你來過這裏嗎 356
第21章 Git和GitHub 357
21.1 為開源代碼提供版本庫 358
21.2 創建GitHub的版本庫 360
21.3 開源代碼的社會化編程 362
21.4 關注者 363
21.5 新聞源 363
21.6 復刻 364
21.7 創建閤並請求 365
21.8 管理閤並請求 367
21.9 通知 369
21.10 查找用戶、項目和代碼 371
21.11 維基 373
21.12 GitHub頁麵(用於網站的Git) 373
21.13 頁內代碼編輯器 375
21.14 對接SVN 377
21.15 標簽自動歸檔 378
21.16 組織 379
21.17 REST風格的API 379
21.18 閉源的社會化編程 381
21.19 最終開放源代碼 381
21.20 開發模型 381
21.21 GitHub企業版 383
21.22 關於GitHub的總結 384
· · · · · · (收起)

讀後感

評分

这本书对于Git版本控制系统的原理讲的很清晰透彻,对于正常的开发项目中Git的使用,这本书完全够用了. 用了大概一星期时间看完了前11个章节,文章用了很多图表的形式来讲解git内部的各个概念的逻辑关系和组成结构,直观易懂,读起来并不是很费力.  

評分

Git permits practically an infinite variety of methods for development and collaboration, but its flexibility also means that some users don't understand how to use it to best advantage. This book offers tutorials on ways to use it, as well as friendly yet ...  

評分

原理的核心是 git 是 track content 而不是简单 track version,每个 version 是与一系列 content objects 绑定的,这里有一个简单介绍: http://stackoverflow.com/questions/31995829/how-does-git-track-changes-to-files  

評分

这本书对于Git版本控制系统的原理讲的很清晰透彻,对于正常的开发项目中Git的使用,这本书完全够用了. 用了大概一星期时间看完了前11个章节,文章用了很多图表的形式来讲解git内部的各个概念的逻辑关系和组成结构,直观易懂,读起来并不是很费力.  

評分

使用GIT前应该看的第一本书,从头到尾没有什么多余的章节,每章都值得一看。这本书看起来还是很舒服的,偶尔出现几个生僻词汇,基本上不卡。而且尤其喜欢用简图的方式介绍GIT的各种对象和动作,贴心的。其实从另一方面说来,GIT本身就是建立在DAG上的分布式VCS,当然用图解最爽...

用戶評價

评分

比較詳細的說明瞭GIT操作的詳細內容,作為工具書還是可以的。

评分

讀的不是原本,是迷你的,不好。

评分

看瞭好幾本,包括官方文檔,此書最好!git是程序員的強力工具,早日掌握早日受用。

评分

讀的不是原本,是迷你的,不好。

评分

翻譯的不好。內容排布也有問題,它按模塊來的(雖然這種方法容易寫清楚所有操作),而不是按工作流的順序

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有