版本控制培訓(xùn)_第1頁
版本控制培訓(xùn)_第2頁
版本控制培訓(xùn)_第3頁
版本控制培訓(xùn)_第4頁
版本控制培訓(xùn)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、北京傳智播客教育 Subversion Tortoisesvn 版本控制培訓(xùn)講師:1北京傳智播客教育 內(nèi)容提要版本控制概述Subversion、Tortoisesvn介紹Subversion服務(wù)端配置Tortoisesvn客戶端GUI使用SVN與第三方整合(Eclipse、Apache)SVN版本控制的前身CVS講述2北京傳智播客教育 版本控制概述版本控制: 版本控制(Revision control)是維護工程藍圖的標準做法,能追蹤工程藍圖從誕生一直到定案的過程。是一種記錄若干文件內(nèi)容變化,以便將來查閱特定版本修訂情況的系統(tǒng)。版本控制深入程序員在團隊配合中,如果你的項目沒有版本控制:一、 代

2、碼管理混亂。二、 解決代碼沖突困難。三、 在代碼整合期間引發(fā)BUG。四、 無法對代碼的擁有者進行權(quán)限控制。五、 項目不同版本發(fā)布困難。.3北京傳智播客教育 Subversion介紹Subversion:是一種開放源碼的全新版本控制系統(tǒng)。是新一代的版本控制工具,由于其優(yōu)于CVS的一些特點,得到了越來越多人的關(guān)注和使用,支持可在本地訪問或通過網(wǎng)絡(luò)訪問的數(shù)據(jù)庫和文件系統(tǒng)存儲庫。不但提供了常見的比較、修補、標記、提交、回復(fù)和分支等功能,而且Subversion 還增加了追蹤移動和刪除的能力。此外,它支持非 ASCII 文本和二進制數(shù)據(jù),所有這一切都使 Subversion 不僅對傳統(tǒng)的編程任務(wù)非常有用

3、,同時也適于 Web 開發(fā)、圖書創(chuàng)作和其他在傳統(tǒng)方式下未采納版本控制功能的領(lǐng)域。 在當(dāng)前的開源項目里(J2EE),幾乎95%以上的項目都用到了 SVN Subversion 項目的初衷是為了替換當(dāng)年開源社區(qū)最為流行的版本控制軟件 CVS,在 CVS的功能的基礎(chǔ)上有很多的提升同時也能較好的解決 CVS 系統(tǒng)的一些不足。4北京傳智播客教育 5北京傳智播客教育 SVN基本交互流程圖6北京傳智播客教育 SVN版本控制的管理思想 SVN 工作的的基本思路是這樣的:在一臺服務(wù)器上建立一個倉庫,倉庫里可以存放許多不同項目的源程序。由倉庫管理員統(tǒng)一管理這些源程序這樣,就好象只有一個人在 修改文件一樣避免了沖突

4、每個用戶在使用倉庫之前,首先要把倉庫里的項目文件下載到本地。用戶做的任何修改首先都是在本地進行,然后用 SVN 命令進行提交,由 SVN倉庫管理員統(tǒng)一 修改這樣就可以做到跟蹤文件變化,沖突控制等等。 7北京傳智播客教育 Subversion安裝、配置 下載安裝Subversion 配置Subversion(統(tǒng)一放在D:SVN)啟動SVN 服務(wù)器(CMD、Service)CMD: svnserve . Service: sc create .8北京傳智播客教育 Subversion安裝、配置 配置Subversion建立SVN 單倉庫(svnadmin create REPOS_PATH) db

5、目錄:就是所有版本控制的數(shù)據(jù)存放文件。 hooks目錄:放置hook腳本文件的目錄。 locks目錄:用來放置Subversion文件庫鎖定數(shù)據(jù)的目錄,用來追蹤存取文件庫的客戶端。 format文件是一個文本文件,里面只放了一個整數(shù),表示當(dāng)前文件庫配置的版本號。 conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問帳號、權(quán)限等)。9北京傳智播客教育 Subversion安裝、配置 配置Subversion在將數(shù)據(jù)導(dǎo)入到倉庫之前,你必須先想好如何組織存放你的數(shù)據(jù)。如果你使用一種我們推薦的規(guī)劃方式,你將在以后的使用中感覺到很舒服。我們這里有很多種標準的推薦倉庫組織形式。大多數(shù)人會創(chuàng)建一個trunk目

6、錄來存放開發(fā)的“主線”,一個branches目錄來存放支線副本,另外還有一個tags目錄來存放標簽副本。假如一個倉庫只保存一個項目,經(jīng)常會創(chuàng)建這樣的幾個頂級目錄:/trunk/branches/tags(這只是個建議性的規(guī)范說明,你不按說明來辦事也不會怎么樣,svn照樣工作得很好)10北京傳智播客教育 Subversion安裝、配置 配置Subversion建立SVN 單倉庫(svnadmin create REPOS_PATH)建立SVN 多倉庫(倉庫建立方式與單倉庫一樣,只是目錄倉庫結(jié)構(gòu)有所變化)配置倉庫權(quán)限(結(jié)合客戶端一起講)authz passwd svnserve.conf更多的關(guān)于

7、SVN服務(wù)端命令的使用請參照SVN官方文檔11北京傳智播客教育 SVN客戶端(Tortoisesvn)介紹Tortoisesvn:是SVN客戶端程序,為windows外殼程序集成到windows資源管理器和文件管理系統(tǒng)的Subversion客戶端。在2002年,Tim Kemp 發(fā)現(xiàn) Subversion 是一個很好的版本控制系統(tǒng),但是沒有好的圖形化客戶端,于是創(chuàng)建了一個專門為 Windows 外殼集成的 Subversion 客戶端;創(chuàng)意來自 TortoiseCVS;12北京傳智播客教育 SVN客戶端(Tortoisesvn)官網(wǎng)TortoiseSVN安裝包鏈接地址:360安裝衛(wèi)士軟件寶庫漢

8、化語言包鏈接地址:http:/downloads(Language packs)安裝完上述兩個文件后,重啟電腦(explorer.exe)。如果鼠標右鍵中出現(xiàn)下列菜單,就表示安裝成功。13北京傳智播客教育 SVN客戶端(Tortoisesvn)14北京傳智播客教育 Subverson、Tortsesvn介紹檔案庫瀏覽器(Repo-browser)鼠標右鍵-TortoiseSVN-版本庫瀏覽器輸入版本庫URL地址,進入如菜單界面:版本庫瀏覽器支持svn及http等多咱常用的通信協(xié)議。15北京傳智播客教育 SVN客戶端(Tortoisesvn)創(chuàng)建版本庫、導(dǎo)入、檢出創(chuàng)建版本庫右鍵-Tortoise

9、SVN-Create repository here導(dǎo)入右鍵-TortoiseSVN-導(dǎo)入(一般在項目創(chuàng)建初始化數(shù)據(jù)時使用,當(dāng)然也可用于把任意文件或目錄從外部導(dǎo)入到指定倉庫中)檢出 checkout(提醒:檢出項目后客戶端文件夾的變化.svn) 右鍵-SVN Checkout.增加右鍵-TortoiseSVN-Add更新右鍵-SVN Update提交右鍵-SVN Commit.16北京傳智播客教育 SVN客戶端(Tortoisesvn)這張圖代表使用Tortoisesvn客戶端時文件及目錄受版本控制的各種狀態(tài)。17北京傳智播客教育 TortoiseSVN技巧小貼士表示此文件或文件夾與倉庫版本同

10、步,本地也沒有被修改過。表示此文件或文件夾在本地被修改過,暫時還沒有提交到SVN倉庫中。在你開始編輯一個文件后,狀態(tài)就變成了已修改,而圖標重載變成了紅色感嘆號。通過這種方式,你可以很容易地看出哪些文件從你上次更新工作復(fù)本后被修改過,需要被提交。如果在提交的過程中出現(xiàn)了沖突圖標變成黃色感嘆號。(權(quán)限)如果你給一個文件設(shè)置了svn:needs-lock屬性,Subversion會讓此文件只讀,直到你獲得文件鎖。只讀文件具有這個重載圖標來表示你必須在編輯之前先得到一個鎖。(權(quán)限)如果你擁有了一個文件的鎖,并且Subversion狀態(tài)是正常,這個重載圖標就提醒你如果不使用該文件的話應(yīng)該釋放鎖,允許別人

11、提交對該文件的修改。(權(quán)限)這個圖標表示當(dāng)前文件夾下的某些文件或文件夾已經(jīng)被計劃從版本控制中刪除,或是該文件夾下某個受控的文件丟失了。加號告訴你有一個文件或是目錄已經(jīng)被計劃加入版本控制。18北京傳智播客教育 SVN客戶端(Tortoisesvn)版本沖突的問題并行修改(重點)并行修改造成版本沖突會生成4個文件的解決辦法總結(jié):1.項目開發(fā)分工明確|分模塊開發(fā)|項目組各成員做到勾通方便且及時 2.做到項目組成員按時按量的及時同步版本控制倉庫 3.強制性非常不友好的使用鎖定功能19北京傳智播客教育 SVN客戶端(Tortoisesvn)SVN版本控制的權(quán)限配置authz (授權(quán))passwd (認證

12、)svnserve.conf (SVN權(quán)限系統(tǒng)的橋接配置文件)練習(xí)項目版本控制實戰(zhàn)公司分配給CRM項目組一共由3位員工進行開發(fā) 1.其中有二名員工具有整個項目的全部可讀寫權(quán)限 另一名員工只有讀權(quán)限。 2.項目根目錄下的doc文件夾要求只有admin這個用戶有讀寫權(quán)限。3.練習(xí)時要求故意造成版本沖突(即并行修改同一文件),最終可自我解決此問題。20北京傳智播客教育 TortoiseSVN基本功能日志記錄、提交日志限定必填。清理操作/更新至特定版本鎖定、解鎖:最基本權(quán)限控制(可以限制鎖定的文件只能由被鎖定用戶修改提交)誤刪除恢復(fù)操作:a)點擊“還原” (誤刪操作,并且還沒進行提交); b)日志記錄

13、列表中還原。 c)直接重更新單個文件過濾:選中文件-TortoiseSVN-增加到忽略列表多個類型文件一樣的文件過濾及清除密碼文件或文件夾重命名21北京傳智播客教育 SVN客戶端(Tortoisesvn)其它倉庫所在服務(wù)器地址發(fā)生改變(重新定位)文件差異比較(3種情況下比較)分支/標記(發(fā)布版本)導(dǎo)出:使項目脫離版本控制(即除去.svn文件夾)。項目管理實戰(zhàn):一個JAVA項目受SVN版本控制,其中要求按SVN約定成俗的方式把項目放在開發(fā)主干trunk分支下,兄弟目錄tags用于存放項目發(fā)布的版本,按以下方式分別在本地客戶端項目文件夾中操作,使之與SVN倉庫進行數(shù)據(jù)交互。 1.自少執(zhí)行3次以上C

14、ommit命令,并且要求寫明每次提交的日志記錄(日志必填)。 2.故意不小心在本地刪除一個受版本控制的文件或文件夾,同時能做到使用3種不同的方式恢復(fù)數(shù)據(jù)。 3.用兩種方式重命名一個受版本控制的文件或文件夾的名稱(得出結(jié)論兩種方式哪種效率更高)。 4.把SVN項目倉庫移動到其它計算機上運行,此時客戶端應(yīng)該如何去重新關(guān)聯(lián)定位到新的倉庫地址。 5.在項目目錄下修改一個文件并與它的上一個版本進行比較,查看本次具體修改了哪些內(nèi)容。 6.做完以上工作之后,要求發(fā)布一個項目的1.0版本出來(tag-Export)22北京傳智播客教育 SVN與第三方整合(Eclipse、Apache)EclipseApach

15、e(客戶端即可使用http的方式訪問倉庫)23北京傳智播客教育 SVN客戶端(Tortoisesvn)SVN版本控制不神秘,就怕你不動手! 寶典相贈:TortoiseSVN幫助文檔24北京傳智播客教育 Subversion訪問SVN服務(wù)器訪問方式:25北京傳智播客教育 Cuncurrent Versions System 版本控制培訓(xùn)之(CVS)26北京傳智播客教育 CVS簡介CVS - Concurrent Versions System(并發(fā)版本管理系統(tǒng))是一個版本控制管理系統(tǒng),它是SVN出現(xiàn)之前最為廣泛使用的一個版本控制系統(tǒng)。CVS的優(yōu)點就不多說了,總之沒有它,早期的軟件工程就基本無法實

16、現(xiàn),就無法凝聚廣大程序員的力量。它在軟件工程中的作用實在是無可比擬的。 一直到現(xiàn)今的版本控制的主流SVN出現(xiàn)之后,它才慢慢的逐步淡出我們的視線。27北京傳智播客教育 下載并安裝CVS-Server下載CVS服務(wù)器網(wǎng)址為:,下載CVSNT 并安裝,當(dāng)前教學(xué)所使用的版本號為:cvsnt-server-2.5.04.3510.msi安裝CVS服務(wù)器:28北京傳智播客教育 CVSNT界面29北京傳智播客教育 CVSNT界面Server Information,用于查看服務(wù)器信息及一些簡單的統(tǒng)計信息;Respository configuration,配置CVS倉庫,包括添加、刪除等;Server Se

17、tting,配置服務(wù)器運行的一些參數(shù),諸如端口、加密、壓縮等選項;Capatiblity Options,有關(guān)兼容性的選項,在這里主要配置一個兼容非cvsnt客戶端的版本響應(yīng)為cvs 1.11.2;Plugins,插件配置,安裝完成可以不用管的;Advanced,安裝完成后也不用管了;About,在這里可以管理cvsnt服務(wù)的狀態(tài),停止或啟動cvsnt和cvsnt lock服務(wù)。30北京傳智播客教育 CVS-Server配置從零開始1。創(chuàng)建倉庫(Ropository) 安裝完成后,打開 “開始”菜單“程序” “CVSNT” “CVSNT Control Panel” 程序 ,打開cvs管理窗口

18、,選擇“Ropository configuation”選項卡,單擊“add”按鈕添加倉庫,location為倉庫文件夾存放路徑。選擇一個預(yù)先存在的目錄路徑。Name會自動改為“/目錄文件夾”! 這個名子也可以修改(倉庫訪問別名)。點擊OK按鈕,它會提示你“這個文件夾不是cvs倉庫,是否初始化?”的英文提示。點擊“是“。創(chuàng)建倉庫完畢。 31北京傳智播客教育 CVS倉庫用戶1.使用WIN系統(tǒng)帳戶 CVSNT默認用戶為windows系統(tǒng)用戶,即在服務(wù)器上創(chuàng)建WIN系統(tǒng)用戶(注意權(quán)限安全)及可,這樣每個倉庫都可以使用服務(wù)器的系統(tǒng)用戶登陸管理。 2.創(chuàng)建CVS倉庫自己的用戶1).set cvsroot=:pserver:/oa (使用服務(wù)器系統(tǒng)用戶綁定到當(dāng)前的CVS項目上)2).cvs login (登陸,會提示你要求輸入系統(tǒng)用戶的密碼)3).cvs passwd -a -r administrator lengyu (為項目oa建立一個用戶lengyu 此用戶同時映射服務(wù)器系統(tǒng)用戶administrator)提醒:在pserver模式下,上面第3步新建立的用戶一定要與系統(tǒng)用戶進行綁定,這樣cvs的客戶端軟件才可以通過此cvs用戶連接CVS服務(wù)器。32北京傳智播客教育 CVS客戶端使用3.Eclipse客戶端中CVS的使用33北京傳智播客教育 CVS客戶端使用4.CVS基本功能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論