出版時(shí)間:2010年5月 出版社:電子工業(yè)出版社 作者:Travis Swicegood 頁數(shù):182 譯者:董越,付昭偉,等譯
Tag標(biāo)簽:無
前言
軟件開發(fā)領(lǐng)域正在發(fā)生著全球性的變化。越來越多的軟件開發(fā)團(tuán)隊(duì)放棄了老式的、笨重的集中式(centralized)版本控制系統(tǒng)(Version ControlS ystem,VCS),轉(zhuǎn)而采用一種稱為Git的新型的、輕量級(jí)的分布式版本控制系統(tǒng)(Distributed Version Control System,DVCS)?! ∠旅媸顷P(guān)于版本控制系統(tǒng)的簡(jiǎn)要介紹:版本控制系統(tǒng)就好比銀行保險(xiǎn)箱。保險(xiǎn)箱保管有價(jià)值的資產(chǎn),保證它們的安全。對(duì)程序員來講,源代碼就是這樣的資產(chǎn),由版本控制系統(tǒng)來保管。版本控制系統(tǒng)把程序員所完成并提交(commit)的任何修改都記錄下來,供日后查詢檢索。這個(gè)功能就好像銀行提供的對(duì)賬單一樣?! ≡贕it的世界里,可以隨身帶著有自動(dòng)取款機(jī)的保險(xiǎn)箱到處走。這意味著,你既可以完全斷開和別人的連接以獨(dú)立工作,也可以在適當(dāng)?shù)臅r(shí)候與大家溝通分享工作成果。當(dāng)然,Git也具有記錄和跟蹤代碼修改歷史這樣的基本功能。當(dāng)初Linus Torvalds創(chuàng)造Git是為了跟蹤Linux內(nèi)核的修改情況。他用幾周時(shí)間完成了基本的雛形。隨著時(shí)間的推移,Git已經(jīng)從最初簡(jiǎn)陋的腳本發(fā)展成為功能豐富的工具包。對(duì)程序員來說,Git具有如下優(yōu)勢(shì): ·分布式體系結(jié)構(gòu):可以完全斷網(wǎng)工作,不受網(wǎng)絡(luò)連接的限制?! し种c合并操作很容易:創(chuàng)建分支簡(jiǎn)單、經(jīng)濟(jì)、快速,這與其他版本控制系統(tǒng)不一樣。Git把分支上的所有修改合并回父分支,即使多次,也只是一眨眼的功夫。
內(nèi)容概要
《版本控制之道:使用Git》包含了三個(gè)部分,旨在幫助程序員解決日常工作中遇到的一些具體問題,內(nèi)容覆蓋了對(duì)于現(xiàn)代軟件開發(fā)非常重要的基礎(chǔ)知識(shí)。這套叢書展現(xiàn)了注重實(shí)效的實(shí)際技巧及工具使用方面的內(nèi)容?! 栋姹究刂浦馈废盗惺侨壳械牡谝徊浚v述了如何使用版本控制為項(xiàng)目提供安全保障,并提高開發(fā)、集成和發(fā)布的效率。隨著版本控制工具Git越來越流行,《版本控制之道》在陸續(xù)推出了CVS版、Subversion版后,現(xiàn)在也推出了Git版,即《版本控制之道:使用Git》。 Git是一個(gè)功能強(qiáng)大的工具,這也意味著完全掌握它是件頗費(fèi)時(shí)間的事。而《版本控制之道:使用Git》的特點(diǎn)是實(shí)用:介紹Git的精髓和常用的功能,讓讀者迅速上手,很快就可以在實(shí)際項(xiàng)目中使用Git并受益。
書籍目錄
致謝序言誰適合閱讀本書內(nèi)容概述排版約定在線資源第1篇 歡迎來到分布式世界第1章 Git的版本控制之道1.1 版本庫(kù)1.2 版本庫(kù)中存儲(chǔ)什么1.3 工作目錄樹1.4 代碼修改與文件同步1.5 跟蹤項(xiàng)目、目錄和文件1.6 使用標(biāo)簽跟蹤里程碑1.7 使用分支來跟蹤并行演進(jìn)1.8 合并1.9 鎖機(jī)制1.10 下一步第2章 Git安裝與設(shè)置2.1 安裝Git2.2 設(shè)置Git2.3 使用Git圖形界面(GUI)2.4 獲取Git內(nèi)置幫助信息第3章 創(chuàng)建第一個(gè)項(xiàng)目3.1 創(chuàng)建版本庫(kù)3.2 代碼修改3.3 在項(xiàng)目中工作3.4 理解并使用分支3.5 處理發(fā)布3.6 克隆遠(yuǎn)程版本庫(kù)第2篇 Git日常用法第4章 添加與提交:Git基礎(chǔ)4.1 添加文件到暫存區(qū)4.2 提交修改4.3 查看修改內(nèi)容4.4 管理文件第5章 理解和使用分支5.1 什么叫分支5.2 創(chuàng)建新分支5.3 合并分支間的修改5.4 沖突處理5.5 刪除分支5.6 分支重命名第6章 查詢Git歷史記錄6.1 查看Git日志6.2 指定查找范圍6.3 查看版本之間的差異6.4 查明該向誰問責(zé)6.5 跟蹤內(nèi)容6.6 撤銷修改6.7 重新改寫歷史記錄第7章 與遠(yuǎn)程版本庫(kù)協(xié)作7.1 網(wǎng)絡(luò)協(xié)議7.2 克隆遠(yuǎn)程版本庫(kù)7.3 版本庫(kù)同步7.4 推入改動(dòng)7.5 添加新的遠(yuǎn)程版本庫(kù)第8章 管理本地版本庫(kù)8.1 使用標(biāo)簽標(biāo)記里程碑8.2 發(fā)布分支的處理8.3 標(biāo)簽與分支的有效名稱8.4 記錄和跟蹤多個(gè)項(xiàng)目8.5 使用Git子模塊跟蹤外部版本庫(kù)第9章 高階功能9.1 壓縮版本庫(kù)9.2 導(dǎo)出版本庫(kù)9.3 分支變基9.4 重現(xiàn)隱藏的歷史9.5 二分查找第3篇 系統(tǒng)管理第10章 遷移到Git10.1 與SVN的通信10.2 確保git.svn是可用的10.3 導(dǎo)入Subversion版本庫(kù)10.4 與Subversion版本庫(kù)保持同步更新10.5 將修改推入SVN10.6 從CVS導(dǎo)入第11章 使用Gitosis管理Git服務(wù)器11.1 確定Gitosis所依賴的程序已經(jīng)安裝11.2 安裝Gitosis11.3 創(chuàng)建管理員SSH證書11.4 配置Gitosis服務(wù)器11.5 初始化Gitosis11.6 配置Gitosis11.7添加新版本庫(kù)11.8 設(shè)置公共版本庫(kù)11.9 結(jié)束語第4篇 附錄附錄A Git命令快速參考A.1 安裝和初始化A.2 日常操作A.3 分支A.4 歷史A.5 遠(yuǎn)程版本庫(kù)A.6 連接Git和SVN附錄B 其他資源和工具B.1 Git附帶工具B.2 第三方工具B.3 Git版本庫(kù)托管服務(wù)B.4 在線資源附錄C參考書目索引
章節(jié)摘錄
版本庫(kù)(Repository)是版本控制系統(tǒng)用來存儲(chǔ)所有歷史數(shù)據(jù)的地方。大多數(shù)版本控制系統(tǒng)在版本庫(kù)中存儲(chǔ)各個(gè)文件的當(dāng)前狀態(tài)、歷史修改時(shí)間、誰做的修改,以及修改的原因?! “姹究刂葡到y(tǒng)就好比是銀行保險(xiǎn)箱,而它所保存的歷史信息就好比對(duì)賬單。每當(dāng)存入一筆存款時(shí),或者用版本控制系統(tǒng)的行話來說,每當(dāng)進(jìn)行一次提交((20mmit)的時(shí)候,版本控制系統(tǒng)就會(huì)在“對(duì)賬單”上添加一個(gè)條目,并且把提交的內(nèi)容保存在版本庫(kù)里?! ≡谠缙诘陌姹究刂葡到y(tǒng)中,必須登錄版本庫(kù)所在的服務(wù)器,才能訪問這些版本庫(kù)。這會(huì)帶來可擴(kuò)展性方面的問題。而較新的版本控制系統(tǒng),比如CVS和Subversion,解決了這樣的問題。這類版本控制系統(tǒng)允許程序員通過網(wǎng)絡(luò)來獲取版本庫(kù)中的代碼,并在修改后提交回來?! ∵@類版本控制系統(tǒng)屬于集中式版本庫(kù)(Centralized Repositorv)模式。在這種模式中,所有的程序員都會(huì)把他們的改動(dòng)提交到服務(wù)器上的一個(gè)公共版本庫(kù)中。具體來說,每一個(gè)程序員在本地有一個(gè)工作目錄樹,其內(nèi)容是該版本庫(kù)中最新的代碼。當(dāng)他們?cè)诠ぷ髂夸洏渲型瓿纱a修改后,就把改動(dòng)提交回該版本庫(kù)中?! ∵@類使用集中式版本庫(kù)的版本控制系統(tǒng)與早期的直接訪問式版本控制系統(tǒng)相比,有很大進(jìn)步,但仍有其局限性。首先,在本地工作目錄樹中,只能看到代碼的最新版本。如果想查詢歷史修改記錄,就必須與服務(wù)器上的版本庫(kù)打交道。這就帶來另一個(gè)問題:同遠(yuǎn)程的版本庫(kù)連接,通常須要使用網(wǎng)絡(luò)?! ≡谶@個(gè)“永不斷線”的寬帶互聯(lián)網(wǎng)時(shí)代,我們幾乎忘記了有時(shí)候不能上網(wǎng)。以本書的寫作過程為例,有時(shí)候是在家中,有時(shí)候是在咖啡店里,有時(shí)候是在飛機(jī)上,還有的時(shí)候是在長(zhǎng)途汽車上。甚至,本書最后的修訂是在密蘇里州奧扎克族印第安人的小木屋里?! ∪绻褂梅植际桨姹究刂葡到y(tǒng),就不會(huì)遇到不能上網(wǎng)所帶來的問題。這是以Git,為代表的分布式版本控制系統(tǒng)最大的優(yōu)勢(shì)。使用分布式版本控制系統(tǒng),每個(gè)人都會(huì)在本地有自己的版本庫(kù),而不是連接到服務(wù)器上的一個(gè)公共的版本庫(kù)。所有的歷史記錄都存儲(chǔ)在本地的版本庫(kù)中。向版本庫(kù)提交代碼無須連接遠(yuǎn)程版本庫(kù),而是記錄在本地的版本庫(kù)中。
編輯推薦
《版本控制之道:使用Git》事情正在發(fā)生變化。一些著名的項(xiàng)目如Linux內(nèi)核、Mozilla、Gnome,以及Ruby on Rails等都已選擇使用分布式版本控制系統(tǒng)(Distributed Version Control System,DVCSs),而非CVS或Subversion?! it是分布式版本控制系統(tǒng)的代表,具有優(yōu)異的功能和性能。然而,若缺乏指導(dǎo),把Git應(yīng)用到您所在的開發(fā)環(huán)境中可不是件容易的事?!栋姹究刂浦溃菏褂肎it》將向您講述Git,,引領(lǐng)您進(jìn)入分布式版本控制的世界?! 』蛟S您打算從傳統(tǒng)的集中式版本控制系統(tǒng)遷移到Git上;或許您是編程新手,剛剛接觸版本控制。不論哪種情況,《版本控制之道:使用Git》都會(huì)讓您掌握Git,以便在日常工作中使用?! 栋姹究刂浦馈褂肎it》首先概述了版本控制系統(tǒng),特別是分布式版本控制系統(tǒng),并展示分布方式,使您在移動(dòng)性不斷增加的環(huán)境中更有效地工作。接著,《版本控制之道:使用Git》介紹了開始Git旅程的必備基礎(chǔ)知識(shí)?! ⊥ㄟ^《版本控制之道:使用Git》,您將全面了解到如何充分利用Git的先進(jìn)功能?!栋姹究刂浦溃菏褂肎it》還將為您打下堅(jiān)實(shí)的基礎(chǔ),使您掌握個(gè)人和在團(tuán)隊(duì)中如何運(yùn)用Git?! ravis Swicegood是Ning項(xiàng)目AppDev團(tuán)隊(duì)的成員。他已從事專業(yè)編程工作將近十年,并愿意繼續(xù)享受此項(xiàng)工作的樂趣,盡管曾經(jīng)為生計(jì)而賣過汽車。他積極參與了PHP社區(qū)若干開源自動(dòng)化工具的開發(fā),包括自動(dòng)測(cè)試框架。他也活躍于LaWlerlce Programmers社區(qū),事實(shí)上,他是該社區(qū)的創(chuàng)始人。閑暇時(shí),他常騎車出游,或者品嘗自制美味,以及自釀美酒。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載