SVN倉(cāng)庫(kù)目錄結(jié)構(gòu)規(guī)劃_第1頁(yè)
SVN倉(cāng)庫(kù)目錄結(jié)構(gòu)規(guī)劃_第2頁(yè)
SVN倉(cāng)庫(kù)目錄結(jié)構(gòu)規(guī)劃_第3頁(yè)
SVN倉(cāng)庫(kù)目錄結(jié)構(gòu)規(guī)劃_第4頁(yè)
SVN倉(cāng)庫(kù)目錄結(jié)構(gòu)規(guī)劃_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

SVN 倉(cāng)庫(kù)目錄結(jié)構(gòu)規(guī)劃倉(cāng)庫(kù)目錄結(jié)構(gòu)規(guī)劃 服務(wù)器 2010 06 10 16 08 31 閱讀 109 評(píng)論 0 字號(hào) 大中小 訂閱 SVN 倉(cāng)庫(kù)的負(fù)責(zé)人規(guī)劃好倉(cāng)庫(kù)的目錄結(jié)構(gòu) 推薦的目錄結(jié)構(gòu)如下圖所示 倉(cāng)庫(kù)的一級(jí)目錄只有兩個(gè) 分別為 code 和 doc 其中 doc 主要用來(lái)放置先期的文檔 code 主要用來(lái)放置工程的代碼 也可以包含后期的文檔 倉(cāng)庫(kù)的二級(jí)目錄只可以是 branch 與 trunk 兩個(gè)目錄 分別存放主干與分支 trunk 目錄下直接 存放工程文件 branch 目錄下包括一些子目錄分別對(duì)應(yīng)各個(gè)分支 圖 2 4 從 SVN 倉(cāng)庫(kù)中取出代碼時(shí) 一定不要把整個(gè)倉(cāng)庫(kù)取出來(lái) 而應(yīng)該只取出 trunk 目錄 或只取 出 branch 下的某個(gè)分支目錄 比如上圖中的 svn codebranchxw 051206 一個(gè)項(xiàng)目會(huì)有多個(gè)人共同合作開(kāi)發(fā)完成 基本流程是 各開(kāi)發(fā)成員建立自己的分支 并在此分支上開(kāi)發(fā) 各開(kāi)發(fā)成員把分支合并到主干上并形成較為穩(wěn)定的版本 各個(gè)成員重新從主干上建立新的分支 在此分支上開(kāi)發(fā) 即回到第一步 循環(huán)往復(fù) 直到工程結(jié)束 下面我用一個(gè)例子來(lái)說(shuō)明合作開(kāi)發(fā)的基本流程 現(xiàn)在 xb 與 lzj 兩個(gè)開(kāi)發(fā)人員要共同開(kāi)發(fā)一個(gè)工程 onlytest 其這個(gè)工程的主干的 SVN 倉(cāng)庫(kù)地 址如下圖 圖 2 5 xb 與 lzj 分別在 onlytest 這個(gè)工程中建立兩個(gè)分支 分別為 xb 051115 和 lz 051115 在這里分支命名要采用 姓名縮寫(xiě) 6 個(gè)數(shù)的日期 后綴 可選 的形式 比如 xb 051208 1 xb 051212 之類的 創(chuàng)建完分支后我們可以看到這個(gè)工程的目錄結(jié)構(gòu)如下圖所示 圖 2 6 分支目錄 建完之后 xb 和 lzj 分別在本地取出對(duì)應(yīng)的分支進(jìn)行開(kāi)發(fā) 當(dāng)程序到達(dá)一個(gè)比較穩(wěn)定的階段 就需要把分支合并到主干上 下面講述一下合并的流程 在本節(jié)中繼續(xù)使用上一節(jié)中所示的工程與 SVN 倉(cāng)庫(kù)講解 1 2 3 1 xb 與 lzj 分別修改自己分支上的代碼 現(xiàn)在 主干上的 test SVN txt 是空文檔 由 xb 與 lzj 修改提交后 兩個(gè)分支中 test SVN txt 分別如下兩圖所示 圖 2 7 xb 051129 分支下的 test SVN txt 圖 2 8 lzj 051129 分支下的 test SVN txt 1 2 3 2 xb 將 xb 051129 分支合并到主干 xb 先把主干 check out 到本地 然后在主干的目錄上右鍵選擇 svn merge 彈出如下窗口 圖 2 9 合并對(duì)話框 此對(duì)話框的含義是把 From 指定的分支版本到 To 指定的分支版本之間的差異合并到主干上 在這里分支選的是 xb 051129 版本號(hào)的選定方法是點(diǎn)擊 From 中的 Show Log 在 Log 窗口 中按住 Ctrl 鍵 點(diǎn)擊選擇 made a copy 之上的那個(gè)版本 以及最頂上的那個(gè)版本 如圖 2 11 所示 然后點(diǎn)擊確定回到上圖中的對(duì)話框 會(huì)自動(dòng)填寫(xiě) From 與 To 中的 Revision 號(hào) 2 10 選擇需要合并的版本 然后直接點(diǎn)擊 merge 進(jìn)行合并 你也可以通過(guò) dry run 來(lái)看是不是兩者之間有差異 由于沒(méi)有 其它人修改主干 所以合并的很順利 下圖是 xb 051115 與主干合并后的結(jié)果 合并完畢之后 由 xb 對(duì)主干進(jìn)行提交 圖 2 11 合并后 主干上的 test SVN txt 1 2 3 3 lzj 將 lzj 051129 分支合并到主干 解決沖突 xb 合并完畢之后 lzj 要將他的分支合并到主干上去 方法同上 但是由于 xb 已經(jīng)修改過(guò)主干 所以產(chǎn)生了沖突 會(huì)彈出一個(gè)沖突對(duì)話框 雙擊對(duì)話框中的產(chǎn)生沖突的文件名 就可以調(diào)出工具對(duì) 此文件進(jìn)行合并 下圖是我們用 merge 工具顯示的界面 圖 2 12 首先比較第一個(gè)窗口與第二個(gè)窗口 把結(jié)果修改合并到第二個(gè)窗口 然后確保光標(biāo)處于第二個(gè)窗口時(shí) 點(diǎn)擊上圖中紅色圈圈所示的按鈕 這樣會(huì)把第二個(gè)窗 口的內(nèi)容全部復(fù)制到第三個(gè)容口 之后保存 退出 然后在工程目錄上點(diǎn)右鍵 進(jìn)行 SVN Resolved 這樣會(huì)刪除無(wú)用的臨時(shí)文件 最后提交所作的修改 并添加詳細(xì)的注釋 中的標(biāo)簽 與 CVS 不同 使用 SVN 時(shí)不用專門為目錄添加標(biāo)簽 因?yàn)?SVN 也對(duì)目錄進(jìn)行版本管理 我們?cè)谔峤粫r(shí)寫(xiě)好注釋 比如重要的版本提交時(shí)使用 051201 之類的日期作為開(kāi)頭 就可以 通過(guò)注釋來(lái)查找比較重要的目錄版本號(hào) 相當(dāng)于 CVS 或 VSS 中的標(biāo)簽 另外 每個(gè)工程都會(huì)有一個(gè)版本說(shuō)明文件 通過(guò)此文件可以查找關(guān)鍵版本 你可以重命名 移動(dòng)或刪除你的文件或文件夾 但請(qǐng)使用 SVN 進(jìn)行這些操作 否則之前的版 本信息會(huì)丟失 使用 SVN 刪除 移動(dòng)與重命名文件夾的方法是在文件 文件夾上點(diǎn)右鍵進(jìn)行 SVN 操作 或直 接在資源瀏覽器中使用右鍵拖放 會(huì)彈出 SVN 選項(xiàng) 文件的刪除 移動(dòng)與重命名之前 必須保證工作目錄是最新的版本 進(jìn)行這些操作之后 需要 進(jìn)行提交 1 3 3 版本的回退 在代碼的編寫(xiě)過(guò)程中 難免會(huì)有不盡人意的地方 你也許需要回退到某一個(gè)版本 但是在這個(gè) 過(guò)程中可能有一些文件你想保留 也有一些文件你不想保留 這就牽扯到很復(fù)雜的版本管理過(guò)程 在這里給大家推薦幾種方法 1 若是你編輯了工程 在沒(méi)有提交的前提下 你想放棄這些修改 你可以直接選擇 revert 就可以更新到工程的最新的版本 2 若是你想退回到某一個(gè)版本 你就可以直接選擇 update to reversion 如圖 這樣我們就可 以把我們的版本回退到你選中的版本去 這種情況下 SVN 并沒(méi)有顯示出有什么沖突 并 且新建立的文件也還在 但是在這種情況下你并不能直接在你回退后的版本上進(jìn)行編輯 因?yàn)?SVN 的版本控制還是在最新的主干上 我們需要 update 并解決沖突 3 你可以直接選擇 revert changes from this revision 如圖 這樣的話你可以直接解決沖突 并提交 不過(guò)這種方法的不足是 你新建的文件都沒(méi)有了 整個(gè)工程都回退到之前的版 本了 4 我推薦的一種方法是 直接 export 一個(gè)你需要的版本 然后用你 export 的版本覆蓋你的 最新的版本 這樣你就可以不丟失你新建的文件 同時(shí)獲得 head 的 SVN 控制文件 圖 13 每個(gè)工程會(huì)有很多個(gè)小模塊 當(dāng)某個(gè)模塊達(dá)到穩(wěn)定的時(shí)候 你就需要提交一次 以免寫(xiě)下個(gè)模 塊代碼的時(shí)候出現(xiàn)不可恢復(fù)的錯(cuò)誤 每一次提交需要前 需要通過(guò) pclint 檢查 保證是一個(gè)編譯沒(méi)有錯(cuò)誤的版本 當(dāng)提交比較穩(wěn)定 的版本的時(shí)候 同時(shí)要修改你的版本號(hào) 1 3 5 版本說(shuō)明文件 版本說(shuō)明文件為 xml 表格 可用 excel 編輯 它會(huì)記錄下關(guān)鍵的版本信息 版本說(shuō)明文件內(nèi)容如下表 發(fā)布版本是指用戶對(duì)外公布的版本號(hào) 后文中有詳細(xì)描述 Revision 是 SVN 內(nèi)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論