在項目開發的過程中,現在遇到這樣一個問題:
現在是9月份,在同一個項目中我要開發A、B兩個模塊,A模塊是11月份上線,B模塊是12月份上線,但是SVN上的trunk(主干)上的代碼必須是上線的。
假設我可以在9月份完成這兩個模塊,但是我不能在trunk上開發完這兩個模塊。因為如果我在trunk上開發完成了這兩個模塊,等11月份A模塊上線時,我怎么保證
我提交的代碼只是A模塊的呢?並且在我開發這個項目的同時,其他同事也在開發這個項目,這樣,整個項目就會亂掉,沒辦法管理。當然,或許你可以將現在的項目
copy一份保存,然后……然后……或許你可以完成真個模塊的開發。萬一你的備份不小心不見了,那就只好重頭開始代碼…… 崩潰……崩潰……
於是我們可以用SVN建立分支,代碼合並等,這樣可以很方便的管理我們的版本開發。
SVN建立分支:
1、建立一個項目 如bamCode
2、選中項目,單擊右鍵 如圖
3、點擊 分支/標記… 如圖
4、點擊 瀏覽 點擊 branches 選中branches ,單擊右鍵,新建一個文件夾,如 A模塊分支,next——>finish,選中A模塊分支,如圖
5、點擊OK,一路next即可
分支建立好了,接下來我們需要在分支上進行開發,因此,我們需要切換到剛剛建立的分支上
1、選中項目,單擊右鍵,如圖
2、點擊切換 ,如圖
3、點擊瀏覽——>選中A模塊分支——>點擊OK——>點擊OK即切換到了剛剛建立的分支上。
此時我們需要記住現在分支上的這個版本號 ,小編的為399,最好也知道主干上的版本號,假設為315。
好了,接下來我們就可以愉快的編碼了…… 假設此時我們的trunk上也有同事在開發 ,別管別人的。
終於開發完了,模塊需要上線了,但此時主干上的版本號為360,此時我們需要合並代碼。
1、在分支的項目上選中,單擊右鍵——>team——>合並
2、
3、Perform pre-merge best practices checks 不選,點擊next
4、From:(start URL and revision of the range to merge)
這個選擇我們的分支上的項目目錄結構 意思是開始是我們的分支,最終我們要的是trunk最新版,如圖
5、選中我們的項目,點擊OK,From的版本一定要選擇我們剛開始建立分支是的那個版本,小編的版本是399
6、To的URL選擇我們trunk的RUL,版本選擇最新的,可以直接選擇HEAD Revision,next、finish即可,這個版本就是我們最終合並后的版本。
這樣做的目的是什么?
因為此時我們的分支上的代碼和主干上的代碼時不同的,我們需要把主干上的代碼合並到分支上,但分支我們寫的代碼又保存,所以我們需要把分支上的版本號選
擇剛開始建立分支時的版本號,即小編的399版本,然后把主干上的版本選擇最新的,這個我們合並的時候就把主干上最新的代碼合並到了分支上,
到此為止,我們分支上的代碼有兩部分組成:1、主干上最新的;2、自己寫的
7、現在我們只需把我們分支上的代碼合並到主干上即可,這樣我們主干上的代碼也是最新的。
操作類似
此時我們要切換到主干上來操作了,在主干上選中項目,然后做合並操作,
From:主干上的代碼的URL
To:分支上的代碼的URL
版本都選中 HEAD Revision版本即可。
到此,整個建立分支和合並代碼的操作就完成了,當然SVN是一個很好的版本控制工具,還有很多其他功能。常用的功能還有:
1、提交
2、更新
每次提交之前,最后都先更新
3、與資源庫同步
……