久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

SVN使用技巧...

 ekylin 2006-08-07

SVN使用技巧

Submitted by xyz黑板 on 星期一, 一月 9, 2006 - 11:17 隨筆

這里不好排版,大家可以在附件中下載排好版的教程,。

程序員編寫程序的過程中,,每個程序都會有很多不同的版本,這就需要程序員很好的管理代碼,,在需要的時間可以取出需要的版本,,并且每個版本都有一個完整的說明。

我們使用Sub Version(簡稱SVN)作為版本管理工具,。這里著重介紹SVN作為跨平臺的多人協(xié)作使用方法,。在多個程序員管理同一段代碼的過程中,版本的管理顯得尤為重要,,使用SVN可以方便的進行分支,、合并,記錄下所有的版本,。

基本配置

在開始某項軟件,、文檔的開發(fā)與撰寫時,首先由配置管理負責人建立SVN倉庫,、用戶名及其權限,,并通知相關人員SVN倉庫地址、SVN倉庫負責人,。

SVN倉庫的負責人把工程的tsvn:logminisize設置為1,,以便強制注釋。設置方法:在你的工程文件夾右鍵->屬性中,,進入Subversion標簽,,選中tsvn: logminisize,確保復選框recursive選中,,然后點擊Set按鈕把它的值設為1,,其意思是指提交的注釋最短長度為一個字。如圖:

2.1

軟件配置

l        忽略文件

SVN [Setting][General],,設置需要忽略的文件以便忽略掉一些臨時的,、無用的文件常被忽略的文件有*.opt *.ncb *.suo *.plg *.pch *.idb *.pdb *.scc *.obj Debug Release *.o *.bin *.out *.ilk *.aps debug release *.clw *.bak,。每個程序員可以根據自己的需要進行修改忽略文件,,上面只是使用VC++Tornado編程時常用的一些忽略文件,。

2.2

以上說的忽略文件是指全局的忽略文件。SVN還能在特定的目錄中指定需要忽略的文件,。忽略文件支持通配符,。

l        合并比較工具

Merge Tool中可以選擇用來合并的工具,強烈推薦用Araxis Merge,。在[Setting]->[Diff]中填入"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe",;在[Setting]->[Merge]的選項中,填入"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe" %theirs %mine %merged ,;其中"C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe"是指合并工具的路徑,,%theirs %mine %merged分別指..將要合并到主干的分支,主干,,及合并后的結果,。

2.3

倉庫目錄結構

SVN倉庫的負責人規(guī)劃好倉庫的目錄結構。推薦的目錄結構如下圖所示,。

倉庫的一級目錄只有兩個,,分別為codedoc。其中,,doc主要用來放置先期的文檔,,code主要用來放置工程的代碼,也可以包含后期的文檔,。

倉庫的二級目錄只可以是branchtrunk兩個目錄,,分別存放主干與分支。trunk目錄下直接存放工程文件,。branch目錄下包括一些子目錄分別對應各個分支,。

2.4

SVN倉庫中取出代碼時,一定不要把整個倉庫取出來,,而應該只取出trunk目錄或只取出branch下的某個分支目錄(比如上圖中的svn:\\code\branch\xw_051206,。

一個項目會有多個人共同合作開發(fā)完成,。基本流程是:

l        各開發(fā)成員建立自己的分支,,并在此分支上開發(fā),;

l        各開發(fā)成員把分支合并到主干上并形成較為穩(wěn)定的版本;

l        各個成員重新從主干上建立新的分支,,在此分支上開發(fā)(即回到第一步)

l        循環(huán)往復,,直到工程結束。

下面我用一個例子來說明合作開發(fā)的基本流程,。

現在xblzj兩個開發(fā)人員要共同開發(fā)一個工程onlytest,,其這個工程的主干的SVN倉庫地址如下圖,。

2.5

xblzj分別在onlytest這個工程中建立兩個分支,分別為xb _051115lz_051115,。

在這里分支命名要采用[姓名縮寫_6個數的日期_后綴(可選)]的形式,,比如xb_051208_1xb_051212之類的,。創(chuàng)建完分支后我們可以看到這個工程的目錄結構如下圖所示:

2.6分支目錄

建完之后,, xblzj分別在本地取出對應的分支進行開發(fā)。

程序到達一個比較穩(wěn)定的階段,,就需要把分支合并到主干上,,下面講述一下合并的流程。

在本節(jié)中繼續(xù)使用上一節(jié)中所示的工程與SVN倉庫講解,。

1.2.3.1 xblzj分別修改自己分支上的代碼

現在,,主干上的test_SVN.txt是空文檔。

xblzj修改提交后,,兩個分支中test_SVN.txt分別如下兩圖所示

2.7 xb_051129分支下的test_SVN.txt

2.8 lzj_051129分支下的test_SVN.txt

1.2.3.2 xbxb_051129分支合并到主干

xb先把主干check out到本地,。然后在主干的目錄上右鍵選擇svn->merge,彈出如下窗口:

2.9合并對話框

此對話框的含義是把From指定的分支版本到To指定的分支版本之間的差異合并到主干上,。

在這里分支選的是xb_051129,。版本號的選定方法是點擊From中的Show Log,在Log窗口中按住Ctrl鍵,,點擊選擇”made a copy”之上的那個版本,,以及最頂上的那個版本,如 2.11所示,。然后點擊確定回到上圖中的對話框,,會自動填寫FromTo中的Revision號。

2.10選擇需要合并的版本

然后直接點擊merge進行合并,,你也可以通過dry run來看是不是兩者之間有差異,。由于沒有其它人修改主干,所以合并的很順利,,下圖是xb_051115與主干合并后的結果,。合并完畢之后,由xb對主干進行提交,。

2.11合并后,,主干上的test_SVN.txt

 

1.2.3.3 lzjlzj_051129分支合并到主干,解決沖突

xb合并完畢之后,,lzj要將他的分支合并到主干上去,,方法同上。但是由于xb已經修改過主干,所以產生了沖突,,會彈出一個沖突對話框,。雙擊對話框中的產生沖突的文件名,就可以調出工具對此文件進行合并,,下圖是我們用merge工具顯示的界面,。

2.12

l        首先比較第一個窗口與第二個窗口,把結果修改合并到第二個窗口,。

l        然后確保光標處于第二個窗口時,,點擊上圖中紅色圈圈所示的按鈕。這樣會把第二個窗口的內容全部復制到第三個容口,。之后保存,,退出。

l        然后在工程目錄上點右鍵,,進行SVN->Resolved,。這樣會刪除無用的臨時文件。

l        最后提交所作的修改,,并添加詳細的注釋,。

中的標簽

CVS不同,使用SVN時不用專門為目錄添加標簽,,因為SVN也對目錄進行版本管理,。

我們在提交時寫好注釋(比如重要的版本提交時使用051201之類的日期作為開頭),就可以通過注釋來查找比較重要的目錄版本號,,相當于CVSVSS中的標簽,。

另外,每個工程都會有一個版本說明文件,,通過此文件可以查找關鍵版本,。

你可以重命名、移動或刪除你的文件或文件夾,,但請使用SVN進行這些操作,,否則之前的版本信息會丟失。

使用SVN刪除,、移動與重命名文件夾的方法是在文件/文件夾上點右鍵進行SVN操作,,或直接在資源瀏覽器中使用右鍵拖放(會彈出SVN選項)。

文件的刪除,、移動與重命名之前,必須保證工作目錄是最新的版本,;進行這些操作之后,,需要進行提交。

1.3.3 版本的回退

在代碼的編寫過程中,難免會有不盡人意的地方,,你也許需要回退到某一個版本,,但是在這個過程中可能有一些文件你想保留,也有一些文件你不想保留,,這就牽扯到很復雜的版本管理過程,,在這里給大家推薦幾種方法。

1.        若是你編輯了工程,,在沒有提交的前提下,,你想放棄這些修改,你可以直接選擇revert就可以更新到工程的最新的版本,。

2.        若是你想退回到某一個版本,,你就可以直接選擇update to reversion如圖,這樣我們就可以把我們的版本回退到你選中的版本去,這種情況下SVN并沒有顯示出有什么沖突,,并且新建立的文件也還在,,但是在這種情況下你并不能直接在你回退后的版本上進行編輯,因為SVN的版本控制還是在最新的主干上,。我們需要update并解決沖突,。

3.        你可以直接選擇revert changes from this revision如圖,這樣的話你可以直接解決沖突并提交,。不過這種方法的不足是,,你新建的文件都沒有了,整個工程都回退到之前的版本了,。

4.        我推薦的一種方法是,,直接export一個你需要的版本,然后用你export的版本覆蓋你的最新的版本,,這樣你就可以不丟失你新建的文件,,同時獲得headSVN控制文件。

13

 

每個工程會有很多個小模塊,,當某個模塊達到穩(wěn)定的時候,,你就需要提交一次,以免寫下個模塊代碼的時候出現不可恢復的錯誤,。

每一次提交需要前,,需要通過pclint檢查,保證是一個編譯沒有錯誤的版本,。當提交比較穩(wěn)定的版本的時候,,同時要修改你的版本號。

1.3.5 版本說明文件

版本說明文件為xml表格,,可用excel編輯,,它會記錄下關鍵的版本信息,。

版本說明文件內容如下表。發(fā)布版本是指用戶對外公布的版本號,,后文中有詳細描述,;RevisionSVN內部的工程文件夾的版本號。一個發(fā)布版本可能對應多個Revision

發(fā)布版本

Revision

詳細說明

1,0,0,12

76

加入了抗干擾日志,,需長時間測試

程序代碼進行了重構,,已經調試通過

77

xxx @#$%^&

78

...

1,0,0,13

81

測試過的穩(wěn)定版本

1,0,0,14

99

fix some bug,沒有測試

 

 

 

 
附件 大小
svn版本管理教程.rar 474.51 KB

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內容中的聯系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多