




已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
SVN安裝和使用說明 1 安裝及下載client端2 什么是SVN Subversion 3 為甚么要用SVN 4 怎么樣在Windows下面建立SVNRepository 5 建立一個(gè)Working目錄6 新增檔案及目錄到Repository中7 更新檔案及目錄8 更新至特定版本9 復(fù)制檔案及目錄10 制作Tag或是Release11 快速參考 下載Windows端程序 1 安裝及下載client端 大部分的TortoiseSVN的操作都是透過檔案管理員及鼠標(biāo)右鍵就可以完成了 如果您之前使用過TortoiseCVS 應(yīng)該會對這種操作方式感到十分親切 2 什么是SVN Subversion 有一個(gè)簡單但不十分精確比喻 SVN 版本控制 備份服務(wù)器簡單的說 您可以把SVN當(dāng)成您的備份服務(wù)器 更好的是 他可以幫您記住每次上傳到這個(gè)服務(wù)器的檔案內(nèi)容 并且自動的賦予每次的變更一個(gè)版本 通常 我們稱用來存放上傳檔案的地方就做Repository 用中文來說 有點(diǎn)像是檔案倉庫的意思 不過 通常我們還是使用Repository這個(gè)名詞 基本上 第一次我們需要有一個(gè)新增 add 檔案的動作 將想要備份的檔案放到Repository上面 日后 當(dāng)您有任何修改時(shí) 都可以上傳到Repository上面 上傳已經(jīng)存在且修改過的檔案就叫做commit 也就是提交修改給SVNserver的意思 針對每次的commit SVNserver都會賦予他一個(gè)新的版本 同時(shí) 也會把每次上傳的時(shí)間記錄下來 日后 因?yàn)槟承┮蛩?如果您需要從Repository下載曾經(jīng)提交的檔案 您可以直接選擇取得最新的版本 也可以取得任何一個(gè)之前的版本 如果忘記了版本 還是可以靠記憶嘗試取得某個(gè)日期的版本 3 為甚么要用SVN 備份工作檔案是十分重要的 您永遠(yuǎn)不知道計(jì)算機(jī)上的硬盤何時(shí)會壞掉 根據(jù)經(jīng)驗(yàn)法則再加上摩菲定理 壞事情往往都發(fā)生在最重要的時(shí)刻 例如 要release東西的前一刻 硬盤完全壞掉 無法修復(fù) 所以 常常備份工作數(shù)據(jù)是非常重要的 大部分公司的server都會有專門的備份機(jī)制 甚至是異地備援 絕對比放在自己的計(jì)算機(jī)里頭 或是隨身碟上面來的安全 版本控管非常重要 您無法保證手頭上最新版本永遠(yuǎn)都是對的 很多時(shí)候 在經(jīng)過數(shù)天努力工作后 您才發(fā)現(xiàn)走錯(cuò)方向 需要將所有的修改回復(fù)到數(shù)天前版本 沒有幾個(gè)人能夠完全記住自己修改過什么東西 如果沒有做好版本控管 那么 最差的狀況就是要全部重來 伙伴間的數(shù)據(jù)同步也是非常重要的 很多時(shí)候 除了您個(gè)人外 還有其它的伙伴也需要您的檔案 怎么把最新的檔案提供給伙伴呢 用e mail 根據(jù)經(jīng)驗(yàn) 用e mail是一個(gè)很差的辦法 到了最后 根本就不知道哪一封e mail才是新的 因?yàn)榭赡苣钚碌膃 mail已經(jīng)被當(dāng)成垃圾信給丟了 別忘了 現(xiàn)在很多e mail軟件都有anti spam的功能 說不定這些信件都被當(dāng)成廣告信給處理掉了 而且 您也應(yīng)該知道一般檔案如果放在e mail內(nèi) 檔案大小會變得比較大 通常是原來的4 3倍以上 如果每天更新一次 恐怕幾天沒收信的話 信箱就爆了 如果沒有一個(gè)好的辦法 備份不同版本是很耗費(fèi)硬盤空間的 例如 您有一個(gè)總共10MB的目錄 使用單純的檔案備份 如果有10個(gè)版本就會變成100MB 20個(gè)版本就有200MB 如果 不想備份這么多版本 勢必就是要減少備份的次數(shù) 拉長備份周期將會導(dǎo)致數(shù)據(jù)遺失的危險(xiǎn)性增高 把舊的不需要的備份刪除 根據(jù)經(jīng)驗(yàn) 只要時(shí)間一拉長 您跟本就不知道一個(gè)月以前的版本是重要或者是不重要 3 為甚么要用SVN SVN能幫我們解決上面的問題嗎 答案是肯定的 SVNRepository可以是自己計(jì)算機(jī)上的一個(gè)目錄 或者是隨身碟 不建議這樣用 當(dāng)然也可以是公司的服務(wù)器 SVN有很棒的版本控管機(jī)制 所有上傳的版本都會幫您記錄下來 日后您可以隨時(shí)取得某一個(gè)時(shí)刻的版本 而且 也有版本分支及合并等好用的功能 SVN可以讓不同的開發(fā)者存取同樣的檔案 并且利用SVNServer作為檔案同步的機(jī)制 也就是說 您有檔案更新時(shí) 無須將檔案寄給您的開發(fā)成員 只需要告訴他新的版本已經(jīng)在SVNServer上面 請他自己去SVNServer上面就可以取得最新版本 而且 SVNServer也可以做到當(dāng)您上傳新版本后 自動發(fā)信給相關(guān)的成員 SVN的存放檔案方式是采用差異備份的方式 也就是說 他只會備份有不同的地方 所以很省硬盤空間 此外 他也可以針對所謂的非文字文件進(jìn)行差異備份 4 怎么樣在Windows下面建立SVNRepository 假設(shè)您已經(jīng)安裝前面所提及的TortoiseSVN這套軟件 現(xiàn)在我們先告訴您如何用自己的硬盤或是隨身碟當(dāng)作SVNRepository的存放地點(diǎn) 如果您只想知道如何存取一個(gè)已經(jīng)建立好的SVNServer上面的Repository 請直接跳過本節(jié) 假設(shè)您的要放置Repository的地方是E槽 您需要先建立一個(gè)空的目錄 以下面的例子而言 我們在E槽下面建立了一個(gè)名為svn repo的目錄 SVN并沒有限定Repository目錄名稱 您可以建立任何您自己喜歡的名稱 但是 強(qiáng)烈建議勿使用非英文的檔名 如中文或日文 透過您的檔案管理員 在E svn repo的Icon上面 按下鼠標(biāo)右鍵后 選擇TortoiseSVN Createrepositoryhere 4 怎么樣在Windows下面建立SVNRepository 接著 您會看到如下的一個(gè)窗口 這個(gè)窗口主要是問您 您希望使用的Repository數(shù)據(jù)庫格式是FSFS還是BDB 基本上 請選擇FSFS就可以了 按下OK按鈕后 您將可以看到下一個(gè)畫面 這就表示您的SVNrepository已經(jīng)成功的建立了 接下來就是要把您的檔案備份進(jìn)來 日后 只要需要使用這個(gè)repository 我們就可以使用file E SVN REPO表示它 SVN就是透過這種URL的方式到如何與Repository取得聯(lián)系 各種URL的格式如下 file 磁盤驅(qū)動器 repository所在目錄 子目錄http 賬號 服務(wù)器名稱 repository所在目錄 子目錄https 賬號 服務(wù)器名稱 repository所在目錄 子目錄svn ssh 賬號 服務(wù)器名稱 repository所在目錄 子目錄其中 http表示使用一般的超文字傳輸通訊協(xié)議 https表示使用加密的超文字傳輸通訊協(xié)議 svn ssh表示透過SSH加密通訊的管道 進(jìn)行存取 5 建立一個(gè)Working目錄 所謂的Working目錄其實(shí)就是您平常用來存放工作檔案的地方 通常我們會等到自己的工作做的一個(gè)段落的時(shí)候再進(jìn)行備份 所以我們平常都是在Working目錄下面工作 等到適當(dāng)時(shí)機(jī)在commit到repository中 舉例來說 我們想在D槽下面建立一個(gè)名為working的目錄 首先先把這個(gè)目錄建立出來 此時(shí) 這個(gè)目錄應(yīng)該為空的 在檔案管理員中按下右鍵后 您可以在working目錄的icon上按 也可進(jìn)入working目錄后 在空白的地方按 選擇SVNcheckout 5 建立一個(gè)Working目錄 接著您可以看到如下的畫面 首先我們要填入的是repository的位置 對于SVN來說 repository的位置都是URL 由于我們前面已經(jīng)在E槽建立一個(gè)repository 因此 我們現(xiàn)在要在URLofrepository這一欄填入file E svn repo 5 建立一個(gè)Working目錄 接著 稍微看一下Checkoutdirectory 這個(gè)字段應(yīng)該要指向您的working目錄 確認(rèn)后 按下OK按鈕 您應(yīng)該可以看到如下的訊息窗口 這樣就表示動作完成 6 新增檔案及目錄到Repository中 假設(shè)您前面的動作都無誤 現(xiàn)在您開始開發(fā)一個(gè)新的程序 假設(shè)您開發(fā)的程序?qū)⒎旁谇懊娼⒌膚orking目錄下面的my prj子目錄 如下所示 假設(shè)您已經(jīng)編輯好檔案 準(zhǔn)備把他們放到SVN的repository中 您需要在my prj目錄的icon上面 按鼠標(biāo)右鍵 并且選擇TortoiseSVN Add 6 新增檔案及目錄到Repository中 接著 TortoiseSVN會把準(zhǔn)備要加入的檔案及目錄 顯示給您看 打勾的就是等下要被加入到Repository中的 如果您有某些檔案或是目錄不想在這次加入 您可以讓該項(xiàng)目不要被勾選 如此 它就不會被加入到Repository去 6 新增檔案及目錄到Repository中 按下OK后 您將會看到如下的訊息窗口 這樣就表示成功了 有一點(diǎn)要注意的是 這個(gè)Add的動作并未真正的將檔案放到Repository中 僅僅是告知SVN準(zhǔn)備要在Repository中放入這些檔案 6 新增檔案及目錄到Repository中 此時(shí) 如果您透過檔案管理員查看這些檔案 應(yīng)該會看到一個(gè)白色紅底的驚嘆號在檔案icon的下方 這是表示您的working目錄中的檔案與Repository中的檔案還沒有同步 現(xiàn)在我們要多一個(gè)commit的動作 讓這些檔案真正的放入到Repository中 6 新增檔案及目錄到Repository中 您可以在my prj目錄的icon上或者是my prj目錄內(nèi)的空白處按下鼠標(biāo)右鍵 叫出如下的選單 并且選擇SVNcommit 緊接著 您將會看到如下的窗口出現(xiàn) 在這個(gè)窗口中 下半部會列出一個(gè)清單 讓您清楚的了解到哪些檔案要被commit到repository中 同樣的 如果您有檔案不想在這個(gè)時(shí)候commit到Repository 您可以取消選取的檔案 這樣他們就不會被commit到Repository中 6 新增檔案及目錄到Repository中 在檔案列表的上方是Message欄 您可以在欄中輸入本次commit的目的 這是十分重要的字段 當(dāng)您commit的次數(shù)很多時(shí) 可以靠這個(gè)訊息知道版本與版本之間的差異 當(dāng)您輸入好Message 按下OK之后 就可以看到如下的窗口出現(xiàn) 通知您已經(jīng)將指定的檔案送到Repository中 6 新增檔案及目錄到Repository中 您可以到先前的folder中 確定是否所有的檔案icon都有如下的綠色勾勾在上面 這樣代表您的檔案都正確無誤的到repository中 有時(shí)候 因?yàn)閃indows本身的問題 您可能會看到有些icon沒有變成綠色的勾勾 此時(shí) 多按F5幾次 應(yīng)該就可以解決這個(gè)問題 如果 仍然不行 表示您之前的commit動作真的有問題 請仔細(xì)檢查之前的commit動作是否正確 7 更新檔案及目錄 為何需要更新 由于版本控制系統(tǒng)多半都是由許多人共同使用 所以 同樣的檔案可能還有人會去進(jìn)行編輯 為了確保您工作目錄中的檔案與Repository中的檔案是同步的 建議您在編輯前都先進(jìn)行更新的動作 在此 我們都先假設(shè)您已經(jīng)將檔案checkout過一次 現(xiàn)在要說明的是如何在一個(gè)checkout過的目錄進(jìn)行update 在想要更新的檔案或目錄icon上面按下鼠標(biāo)右鍵 并且選擇SVNUpdate 正常的狀況下 您可以看到如上的窗口 在這個(gè)窗口中會顯示有哪些文件更新了 如果沒有看到檔案更新的相關(guān)信息 這表示您的目錄中的檔案已經(jīng)是最新的 所以無須進(jìn)行更新 8 更新至特定版本 有時(shí)我們需要回溯至特定的日期或是版本 這時(shí)就可以利用SVN的Updatetorevision的功能 在想要更新的檔案或目錄icon上面按下鼠標(biāo)右鍵 并且選擇TortoiseSVN Updatetorevision 8 更新至特定版本 在這個(gè)Update窗口中 您可以選擇更新到最新版本 HEAD 也可以選擇更新到某個(gè)指定的版本 Revision 當(dāng)然 您可能早就記不起來正確的版本號碼 可能只隱約的記得大概在什么時(shí)間 沒關(guān)系 按下Showlog按鈕 您就可以回顧歷史了 所有您曾經(jīng)做過的動作 及其日期與對應(yīng)的版本都會列在這個(gè)窗口上面 只要在你想要的版上面點(diǎn)一下 讓他變成反白 然后按下OK 這個(gè)版本就會自動填入U(xiǎn)pdate窗口中的Revision字段中 您只要再按下一次OK 這個(gè)版本就會被取出來到您的硬盤中 9 復(fù)制檔案及目錄 很多時(shí)候您會希望有另外一個(gè)復(fù)制的目錄來進(jìn)行新的編修 等到確定這個(gè)分支的修改已經(jīng)完畢了 再合并到原來的主要開發(fā)版本上 舉例來說 我們目前在workingcopy下面有如下的目錄及檔案 9 復(fù)制檔案及目錄 現(xiàn)在 我們要為trunk這個(gè)目錄建立一個(gè)branch 假設(shè)我們希望這個(gè)目錄是在D working my prj branch my new branch for testing 首先我們可以在trunk目錄下面的空白處 或是直接在trunk的icon下面按下鼠標(biāo)右鍵 在選擇Branch Tag 這個(gè)項(xiàng)目后 您將會看到如下的對話框出現(xiàn) 9 復(fù)制檔案及目錄 請先確認(rèn)FromWCatURL 中的目錄是您要復(fù)制的來源目錄 接著 在ToURL中輸入您要復(fù)制過去的路徑 通常我們會將所有的branch集中在一個(gè)目錄下面 以上面的例子來說 branch檔案都會集中在branch的子目錄下面 在ToURL中您只需要輸入您要的目錄即可 目錄不存在時(shí) 會由SVN幫您建立 特別需要注意的是SVN因?yàn)樾本€作為目錄分隔字符 而非反斜線 接著在Logmessage輸入您此次branch的目的為何 按下OK就可以了 如果成功 將可以看到下面的畫面 9 復(fù)制檔案及目錄 按下OK就可以關(guān)閉這個(gè)窗口了 如果您此時(shí)立刻去workingcopy的branch子目錄下面 您將會失望的發(fā)現(xiàn)在該目錄下面并沒有剛剛指定的目錄存在 這是因?yàn)槟鷚orkingcopy的部份還是舊的 您只需要在branch子目錄下面進(jìn)行SVNupdate就可以看到這個(gè)新增的目錄了 新增的目錄就與原來的目錄無關(guān)了 您可以任意對他進(jìn)行編輯 一直到您確認(rèn)好所有在branch下面該做的工作都完成后 您可以選擇將這個(gè)branchmerge回原來的trunk目錄 或者是保留它在branch中 要merge回trunk目錄中 方法很簡單 以上面的例子來說 我們在D working my prj trunk目錄空白處 按下鼠標(biāo)右鍵 選擇Merge 9 復(fù)制檔案及目錄 接著可以看到如下的畫面 這個(gè)畫面主要分為三個(gè)部份 前面的From 與To 是要問您打算從Branch中的哪個(gè)版本到哪個(gè)版本 merge回原來的trunk目錄中 因此 From跟To的URL字段應(yīng)當(dāng)都是指定原來branch的目錄下 剩下的就是指定要merge的revision范圍 以上面的例子而言 我們從Branch的Revision7開始merge到Branch下面的最新版本 您可以透過 Dryrun按鈕 試作一次Merge 這個(gè)merge只會顯示一些訊息 不會真正的更新到trunk的目錄去 只有按下Merge按鈕后 才會真正的將branch的檔案與trunk的檔案合并起來 9 復(fù)制檔案及目錄 上面的訊息告訴我們在trunk目錄下面的yyyy cpp及xxx1 cpp已經(jīng)被更改過了 如果您在現(xiàn)在到trunk目錄下 會看到這兩個(gè)檔案處于被修改的狀態(tài) 9 復(fù)制檔案及目錄 如果您確認(rèn)這次的merge沒有問題 您可以直接使用commit來將這兩個(gè)被修改的檔案commit回SVNrepository上 如果有問題 您可以直接修改這兩個(gè)檔案 直到確認(rèn)ok了 再行commit 9 復(fù)制檔案及目錄 一切順利的話 您就成功的將branch的檔案merge回trunk了 10 制作Tag或是Release 所謂的Tag或是Release就是一個(gè)特別的版本 因?yàn)檫@個(gè)版本可能有特別的意義 例如 這個(gè)版本是特別的Milestone或是release給客戶的版本 其實(shí) Tag與Release的作法與Branch完全相同 只是Branch可能會需要merge回原來的trunk中 而tag及release大部分都不需要merge回trunk中 舉例來說 今天我們的trunk做了一版 這個(gè)版本被認(rèn)定是軟件的1 0版 1 0版對于開發(fā)來說是一個(gè)非常重要的里程碑 所以我們要特別為他做一個(gè)標(biāo)記 亦即Tag 假設(shè) 這個(gè)1 0版是要正式release給客戶或是相關(guān)vendor 我們要可以為他做一個(gè)Release的標(biāo)記 基本上 SVN只有目錄的概念 并沒有什么Tag的用法 所以您會看到再SVN的選單上面 Branch與Tag是同一個(gè)項(xiàng)目 以這個(gè)1 0的例子來說 我們就是在Trunk上面 按下鼠標(biāo)右鍵 選擇Branch Tag的項(xiàng)目 10 制作Tag或是Release 成功的話 您就在Tag目錄下面建立了一個(gè)1 0的目錄 當(dāng)然 如果您這時(shí)到Tag的目錄下面去 會看不到這個(gè)目錄 您需要在Tag目錄下面update一下 才能看到它 10 制作Tag或是Release 制作Release的作法與Tag完全相同 只是把Tag的目錄換成Release而已 看到這里 相信大家都已經(jīng)領(lǐng)悟到無論是Branch Tag或是Release都只是將指定的Trunk版本復(fù)制一份到另外一個(gè)目錄去 至于這個(gè)目錄要叫Branch還是叫Release SVN根本就不管 所以 您也可取其它的目錄名稱 不過 Branch Tag及Release已經(jīng)是SVN上面約定成俗的名稱 所以 除非您知道自己為何這樣做 否則 最好還是follow這個(gè)命名原則 以免后面新加入的人看不懂 NOTE 同樣的道理Trunk也只是一個(gè)約定成俗的名稱 不一定要叫Trunk 只是大家看到Trunk目錄就會知道這里面放的是主要的開發(fā)主干 11 快速參考 前面寫了不少廢話 主要是給完全沒有版本控制觀念的人看的 如果你想直接知道某個(gè)功能如何使用 請看下面的章節(jié) 在后面的說明 皆以d working當(dāng)作工作目錄 您可以將他換成其它任何您想要的目錄 11 1取得 Checkout Repository1 開啟檔案管理員 進(jìn)入d 2 在檔案管理員空白處按下鼠標(biāo)右鍵 選擇SVNCheckout 3 在Checkout對話框中 URLofrepos
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 災(zāi)難心理健康教育
- 脊柱結(jié)核的主要護(hù)理要點(diǎn)
- 母嬰行業(yè)營養(yǎng)食品
- 2025年安全培訓(xùn)試題:交通安全事故原因分析與安全行車知識問答
- 2025年注冊會計(jì)師考試《會計(jì)》特殊業(yè)務(wù)會計(jì)處理押題密卷模擬試題及答案
- 山鬼民宿創(chuàng)業(yè)開店計(jì)劃
- 2025年消防安全設(shè)施維護(hù)與管理考試題庫應(yīng)急處理試題集
- 2025年人工智能工程師專業(yè)知識考核試卷:人工智能與大數(shù)據(jù)融合技術(shù)試題
- 安全知識和心理健康教育
- 腳手架安全技術(shù)知識
- 中國國際航空內(nèi)蒙古有限公司2025屆空中乘務(wù)員航空安全員高校畢業(yè)生校園招聘筆試參考題庫附帶答案詳解
- 2025江蘇省安全員考試題庫附答案
- 4.2 明確概念的方法 課件高中政治統(tǒng)編版選擇性必修三邏輯與思維
- 2024年國網(wǎng)陜西省電力有限公司招聘筆試真題
- 腰椎ODI評分完整版
- DB13T 5542-2022 水利水電工程施工組織設(shè)計(jì)編制指南
- 二期6KV系統(tǒng)1
- 研究生面試復(fù)試英語+常問問題
- 安徽省教育科學(xué)研究項(xiàng)目課題申請書【模板】
- 參考文獻(xiàn)的標(biāo)注規(guī)范
- 幼年特發(fā)性關(guān)節(jié)炎.
評論
0/150
提交評論