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