先給大家看一下大佬們對這本書的評價,免得說我“標題黨” 版本控制是管理數據變更的藝術,無論數據變更是來自同一個人,還是來自不同的人(一個團隊)。版本控制系統不但要忠實地記錄數據的每一次變更, 還要能夠幫助還原任何一-次歷史變更,以及實現團隊的協同工作等。Git就是版本控制系統中的佼佼者。 當開源軟體 ...
先給大家看一下大佬們對這本書的評價,免得說我“標題黨”
版本控制是管理數據變更的藝術,無論數據變更是來自同一個人,還是來自不同的人(一個團隊)。版本控制系統不但要忠實地記錄數據的每一次變更, 還要能夠幫助還原任何一-次歷史變更,以及實現團隊的協同工作等。Git就是版本控制系統中的佼佼者。
當開源軟體紛紛倒向分散式版本控制系統大旗(尤其是Git)的時候,很多商業公司也在行動了,尤其是涉及異地團隊協同和Android核心代碼定製開發的公司。對於那些因保守而不敢向Git靠攏的公司,Git 也可以派上用場,因為Git可以與現在大多數公司部署的SVN很好地協同,即公司的伺服器是SVN,開發者的客戶端則使用Git。相信隨著Git的普及,以及公司在代碼管理觀念上的改進,會有更多的公司擁抱Git。
這本書可以說是適合所有互聯網行業的程式員們,需要獲取這份Git文檔的小伙伴添加小助理vx:kaixindian331免費獲取!
文檔內容目錄
第一篇初識Git
第1篇講解了Git的相關概念,以及安裝和配置的方法,共3章。第1章介紹了版本控.制的歷史。第2章用十幾個小例子介紹了Git的- - 些閃亮特性,期待這些特性能夠讓你愛上Git。第3章則介紹了Git在三種主要操作系統平臺上的安裝和使用。在本書的寫作過程中,我70%的時間使用的是DebianLinux操作系統,Linux用戶可以毫無障礙地完成本書列舉的所有實踐操作。在2010年年底,當得知有出版社願意出版這本書後,我向妻子阿巧預支了未來的部分稿費購買了我的第--台MacBookPro,於是本書就有了較為詳實的如何在Macosx下安裝和使用Git的內容,以及在本書第22章中介紹的關於Topgit在MacOSX.上的部署和改進相關的內容。在本書的編輯和校對過程中因為要使用Word格式的文稿,所以本書後期的很多工作是在運行於VirtualBox 下的Windows虛擬機中完成的,即使是使用運行於資源受限的虛擬機中的Cygwin, Git 依然完美地完成了工作。
- 第1章版本控制的前世和今生
- 第2章愛上git的理由
- 第3章gi t的安裝和使用
第二篇Git獨奏
第三篇Git和聲
第2篇和第3篇詳細講解了Git的使用方法,是本書的基礎和核心,大約占據」全書40%的篇幅。這兩篇的內容架構方式是我在進行SVN培訓時就已經形成的習慣,即以“獨奏”指代一個人的版本控制所要講述的知識點,以“和聲”指代團隊版本控制涉及的話題。在第2篇“Git獨奏”中,本書將Git的設計原理穿插在各章之中講解,因為唯有瞭解真相(Git原理),才有可能自由(掌握Git)。 在第3篇“Git和聲”中,本書講解了團隊版本控制必須掌握的里程碑和分支等概念,以及如何解決合併中遇到的衝突。
- 第4章git初始化
- 第5章git暫存區
- 第6章git對象
- 第7章git重置
- 第8章git檢出
- 第9章恢復進度
- 第10章git 基本操作
- 第11章歷史穿梭
- 第12章改變歷史
- 第13章git克隆
- 第14章git庫管理
- 第15章 gi t協議與工作協同
- 第16章 衝突解決
- 第17章 git 里程碑
- 第18章 git分支
- 第19章遠程版本庫
- 第20章 補丁文件交互
第4篇git協同模型
第4篇細緻地講解了Git在實際工作中的使用模式。除了傳統的集中式和分散式使用模式之外,第22章還介紹了Topgit在定製開發中的應用,這也是我公司在使用Git時採用的最主要的模式。這一章還講解了我對Topgit所做的部分改進,相關的具體介紹最早出現在我公司的博客.上。第23~ 25章介紹了多版本庫協同的不同方法,其中第25章介紹的一個獨闢蹊徑的解決方案是由Android項目引入的名為repo的工具實現的,我對其進行改造後可以讓這個工具脫離Gerrit代碼審核伺服器,直接操作Git伺服器。第26章介紹了git-svn 這一工具,該工具不但可以實現從SVN版本庫到Git版本庫的遷移,還可以實現以Git作為客戶端向SVN提交。
- 第21章經典git協同模型
- 第22章topgit協同模型
- 第23章子模組協同模型
- 第24章子樹合併
- 第25章android式多版本庫協同
- 第26章git和svn協同模型
第五篇搭建Git伺服器
第5篇介紹了Git伺服器的架設。本篇是全書最早開始撰寫的部分,這是因為我給客戶做的Git培訓講義的相關內容不夠詳細,於是應客戶要求針對Gitolite等伺服器的架設撰寫了詳細的管理員手冊,即本書的第30章。第32章介紹了Android項目在Git管理上的又一大創造,即Gerrit,它實現了一個獨特的集中式Git版本庫管理模型。
- 第27章使用http協議
- 第28章使用git 協議
- 第29章使用ssh協議
- 第30章gitolite 服務架設
- 第31章gi tosis服務架設
- 第32章gerrit 代碼審核伺服器
- 第33章git版本庫托管
第六篇轉移到Git
第6篇講解了Git版本庫的遷移。其中第34章詳細介紹了從CVS版本庫到Git版本庫的遷移,其遷移過程也可以作為從cVs到SVN遷移的借鑒。本篇還介紹了從SVN和Hg版本庫到Git的遷移。對於其他類型的版本庫,介紹了一個通用的需要編程來實現的方法。在本篇的最後還介紹了一個Git版本庫整理的利器,可以理解為一個Git庫轉換為另外--個Git.庫的方法。
- 第34章CV s版本庫到gi t的遷移
- 第35章更多版本控制系統的遷移
第七篇Git的其他應用
第7篇是關於Git的其他應用,其主要內容介紹了我在etckeeper啟發下開發的一款備份工具Gistore,該工具可以運行於Linux和Mac OS X下。
- 第36章etckeeper
- 第37章gistore
- 第38章補丁中的二進位文件
- 第39章雲存儲
第八篇Git雜談
第8篇是Git雜談。其中第40章的內容可供跨平臺的項目組借鑒。第41章介紹了一些在前面沒有涉及的Git的相關功能和特性。
- 第40章跨平臺操作git
- 第41章git的其他特性
這本書可以說是適合所有互聯網行業的程式員們,需要獲取這份Git文檔的小伙伴可以添加小助理vx:kaixindian331免費獲取!
在Mac OS X下安裝和使用Git
Mac OS X被稱為最人性化的操作系統之一,工作在Mac.上是件非常愜意的事情,工作中又怎能沒有Git呢?
理解Git暫存區( stage)
將.上面的實踐從頭至尾操作一遍,不知道您的感想如何:
- 被眼花繚亂的Git魔法徹底搞糊塗了?”
- Git為什麼這麼折磨人,修改的文件直接提交不就完了嗎?”
- 看不出Git這麼做有什麼好處?”
圖形工具: gitk
gitk是最早實現的-一個圖形化的Git版本庫瀏覽器軟體,基於Tcl/Tk實現,因此gitk非常簡潔,本身就是由一個1萬多行的tcl腳本寫成的。gitk 的代碼已經和Git的代碼放在了同一個版本庫中, gitk隨Git一同發佈,不用特別地安裝即可運行。gitk可以顯示提交的分支圖,可以顯示提交、文件、版本間的差異等。在版本庫中調用gitk,就會瀏覽該版本庫,顯示其提交的分支圖。gitk 可以像命令行工具一樣使用不同的參數進行調用。
傳統集中式協同模型
對於簡單的代碼修改,可以像傳統集中式版本控制系統(Subversion) 那樣工作,參照圖21-2所示的工作流程圖。
Gerrit 的實現原理
Gerrit更準確地說應該稱為Gerrit2。因為Android項目最早使用的評審伺服器Gerrit不是今天這個樣子的。最早版本的Gerrit是用Python開發運行於Google App Engine上的,從Python之父GuidovanRossum開發的Rietveld分支而來。在這裡要討論的Gerrit實為Gerrit2,是用Java語言實現的。
跨平臺操作 Git
您是在什麼平臺(操作系統)中使用Git呢?圖40-1是網上發佈的一個Git使用平臺調查結果的截圖”,從中可以看出排在前三位的是: Linux、Mac OS X和Windows。而Windows用戶中又以使用msysGit的用戶居多。
這本書可以說是適合所有互聯網行業的程式員們,需要獲取這份Git文檔的小伙伴可以添加小助理vx:kaixindian331免費獲取!
這份PDF600多頁就不給大家全部展示了,需要獲取這份Git文檔的小獲取可以添加小助理vx:kaixindian331免費獲取!