SVN與TortoiseSVN實戰 標籤與分支

2022-05-03 06:18:08 字數 1674 閱讀 6982

最近在寫《ios效能調優系列》,今天偷個懶,寫寫svn與tortoisesvn實戰的第二篇,標籤與分支。

第一篇詳見《svn與tortoisesvn實戰:從入門到精通》

很多專案人員沒有正確運用svn,僅僅作為源**的團隊共享來用,而沒有充分利用標籤、分支這些強大的特性。

要正確使用svn的標籤和分支特性,就要先建立起合理的專案倉庫結構。

正確的svn專案倉庫結構

很多專案人員往往在建立專案倉庫以後,直接將整個專案的源**提交到倉庫的根目錄,這往往是由於對svn沒有系統的了解。

在根目錄下首先建立三個目錄:

1、trunk:又稱為主幹,這個子目錄才是應該將專案源**提交到的位置。

trunk目錄代表著開發的主線,大部分的開發工作涉及到的更新、提交都在這個目錄裡,就跟「原始」的svn使用一樣。

2、branches:這個目錄就是分支目錄,所有新建的分支都應放在這個目錄。

3、tags:這個目錄是標籤目錄,所有建立的標籤都應放在tags目錄下。

每乙個tags下的標籤代表了乙個專案的時間節點,或者說是事件、里程碑。

這三個目錄之所以如此命名,完全是約定俗成,而非svn規定。

什麼是分支?

分支的基本概念:一條基於另外一條開發線存在的分支,並共享在分離之前的日誌,乙個分支就象乙個拷貝的存在,並從那裡離開,並具有自己的歷史。

沒有找到關於分支很簡潔的解釋,我的解釋是分支相當於對於開發中的主幹進行了複製,從此在分支上後續的所有操作與主幹上的所有操作互不影響。

使用分支前:

1、把**回滾到提交時的狀態,修改後提交;

2、把手頭的功能開發完成,經過完整的測試、發布流程提交。

合理使用分支後:

使用分支後整個過程so easy~

分支裡儲存的實際上是你建立分支時**的快照,在分支上進行的修改還可以合併到主幹中。

什麼是標籤?

標籤和分支的本質是一樣的,可以看到tortoisesvn中,標籤和分支實際上在乙個選單:

分支與標籤的使用也是約定俗稱的,混用分支與標籤svn也不會禁止。

標籤用來記錄專案中的事件或里程碑,可以讓你給專案中的事件起乙個名字,比如發布2.0.0版本,以後你可以使用這個名字來簽出它。

標籤與分支對比

還是繼續上面的例子:

更直白的說,你可以在分支上進行並行開發,而不應該修改標籤裡的內容,標籤僅應當作為乙份**的快照。

後續

本篇先將理論,下篇講解使用tortoisesvn進行分支和標籤的實際操作,網上查了下,發現使用tortoisesvn的分支合併操作居然全是錯的,所以感覺到非常有必要寫出來,明天更新~

TortoiseSVN 覆蓋SVN倉庫最新版本提交

情況背景 ibank.pdm檔案最新版本有問題,版本號為5051。我想在5050的版本上修改後提交,覆蓋5051版本的修改,也就是經過我修改後的5050版本,覆蓋5051版本的修改,提交成功並成為最新的版本5052。使用tortoisesvn軟體實現,版本1.6.10,步驟如下 1.先將現在的505...

TortoiseSVN 覆蓋SVN倉庫最新版本提交

情況背景 ibank.pdm檔案最新版本有問題,版本號為5051。我想在5050的版本上修改後提交,覆蓋5051版本的修改,也就是經過我修改後的5050版本,覆蓋5051版本的修改,提交成功並成為最新的版本5052。使用tortoisesvn軟體實現,版本1.6.10,步驟如下 1.先將現在的505...

svn利用TortoiseSVN忽略檔案或資料夾

忽略已經版本控制的檔案 如果你不小心新增了一些應該被忽略的檔案,你如何將它們從版本控制中去除而不會丟失它們?或許你有 自己的ide配置檔案,不是專案的一部分,但將會花費很多時間使之按照自己的方式工作。如果你還沒有提交,你只需要tortoisesvn revert.來取消新增,你需要將這個檔案新增到忽...