跳到主要內容

SVN的branch,tag and trunk

這只是個說明,你不按說明來辦事也不會怎麼樣,svn照樣工作得很好。
branches:分枝
當 多個人合作(Sally和John)時,可能有這樣的情況出現:John突然有個想法,跟原先的設計不太一致,可能是功能的添加或者日誌格式的改進等等, 總而言之,這個想法可能需要花一段時間來完成,而這個過程中,John的一些操作可能會影響Sally的工作,John從現有的狀態單獨出一個 project的話,又不能及時得到Sally對已有代碼做的修正,而且獨立出來的話,John的嘗試成功時,跟原來的合併也存在困難。這時最好的實踐方 法是使用branches。John建立一個自己的branch,然後在裡面實驗,必要的時候從Sally的trunk裡取得更新,或者將自己的階段成果 彙集到trunk中。(svn copy SourceURL/trunk DestinationURL/branchName -m "Creating a private branch of xxxx/trunk." )
trunk:主幹
主幹,一般來說就是開發的主要呆的地方,
tag:
在 經過了一段時間的開發後,項目到達了一個里程碑階段,你可能想記錄這一階段的代碼的狀態,那麼你就需要給代碼打上標籤。(svn cp file:///svnroot/mojavescripts/trunk file:///svnroot/mojavescripts/tags/mirrorutils_rel_0_0_1
-m "taged mirrorutils_rel_0_0_1")
另有一說,無所謂誰對誰錯。
trunk:表示開發時版本存放的目錄,即在開發階段的代碼都提交到該目錄上。
branches:表示發佈的版本存放的目錄,即項目上線時發佈的穩定版本存放在該目錄中。
tags:表示標籤存放的目錄。
在 這需要說明下分三個目錄的原因,如果項目分為一期、二期、三期等,那麼一期上線時的穩定版本就應該在一期完成時將代碼copy到branches上,這樣 二期開發的代碼就對一期的代碼沒有影響,如新增的模塊就不會部署到生產環境上。而branches上的穩定的版本就是發佈到生產環境上的代碼,如果用戶使 用的過程中發現有bug,則只要在branches上修改該bug,修改完bug後再編譯branches上最新的代碼發佈到生產環境即可。tags的作 用是將在branches上修改的bug的代碼合併到trank上時創建個版本標識,以後branches上修改的bug代碼再合併到trunk上時就從 tags的version到branches最新的version合併到trunk,以保證前期修改的bug代碼不會在合併

留言

這個網誌中的熱門文章

17分鐘波段策略

使用中 觀察中 待修正 TXF_17min_1 TXF_17min_2 TXF_17min_3 TXF_17min_4 TXF_17min_5 TXF_17min_6 TXF_17min_7 TXF_17min_8 TXF_17min_9 TXF_17min_10 * TXF_17min_11 TXF_17min_12 TXF_17min_13 TXF_17min_14 * TXF_17min_15