自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SVN組成中trunk,branches and tags功能用法詳解

開發(fā) 項目管理
本文向大家簡單介紹一下SVN組成部分trunk,branches and tags,包括他們的概念及用法等,希望本文能叫你更多的知識。

本文主要講解一下SVN組成trunk,branches and tags,主要包括其概念的講解、用法的比較,相信看完本文你肯定有不少收獲,希望本文能教會你更多東西。
  在本篇文章中,我將會詳細說明我是如何應用SVNtrunk(樹干)、branches(分支)和tags(標記)。這種方法同樣被稱為“branchalways”,兩者非常接近??赡芪宜榻B的并不是最好的方法,但是它會給新手一些解釋說明,告訴他們trunk、branches和tags是什么,并且該如何去應用它們。

  當然,如果本文有些要點需要澄清/確認,亦或者有一些錯誤的觀點,還請你評論,自由發(fā)表自己的觀點。
——簡單的對比
  SVN的工作機制在某種程度上就像一顆正在生長的樹:
一顆有樹干和許多分支的樹
分支從樹干生長出來,并且細的分支從相對較粗的樹干中長出
一棵樹可以只有樹干沒有分支(但是這種情況不會持續(xù)很久,隨著樹的成長,肯定會有分支啦,^^)
一顆沒有樹干但是有很多分支的樹看起來更像是地板上的一捆樹枝
如果樹干患病了,最終分支也會受到影響,然后整棵樹就會死亡
如果分支患病了,你可以剪掉它,然后其他分支還會生長出來的哦!
如果分支生長太快了,對于樹干它可能會非常沉重,最后整棵樹會垮塌掉
當你感覺你的樹、樹干或者是分支看起來很漂亮的時候,你可以給它照張相,這樣就就可以記得它在那時是多么的贊。
——Trunka
  SVN組成Trunka,Trunk是放置穩(wěn)定代碼的主要環(huán)境,就好像一個汽車工廠,負責將成品的汽車零件組裝在一起。
  以下內容將告訴你如何使用SVNtrunk:
除非你必須處理一些容易且能迅速解決的BUG,或者你必須添加一些無關邏輯的文件(比如媒體文件:圖像,視頻,CSS等等),否則永遠不要在trunk直接做開發(fā)
不要因為特殊的需求而去對先前的版本做太大的改變,如何相關的情況都意味著需要建立一個branch(如下所述)
不要提交一些可能破壞trunk的內容,例如從branch合并
如果你在某些時候偶然間破壞了trunk,bringsomecakethenextday(”withgreatresponsibilitiescome…hugecakes”)
——Branches
  SVN組成branches,一個branch就是從一個SVN倉庫中的子樹所作的一份普通拷貝。通常情況它的工作類似與UNIX系統(tǒng)上的符號鏈接,但是你一旦在一個SVNbranch里修改了一些文件,并且這些被修改的文件從拷貝過來的源文件獨立發(fā)展,就不能這么認為了。當一個branch完成了,并且認為它足夠穩(wěn)定的時候,它必須合并回它原來的拷貝的地方,也就是說:如果原來是從trunk中拷貝的,就應該回到trunk去,或者合并回它原來拷貝的父級branch。
  以下內容將告訴你如何使用SVNbranches:
如果你需要修改你的應用程序,或者為它開發(fā)一個新的特性,請從trunk中創(chuàng)建一個新的branch,然后基于這個新的分支進行開發(fā)
除非是因為必須從一個branch中創(chuàng)建一個新的子branch,否則新的branch必須從trunk創(chuàng)建
當你創(chuàng)建了一個新branch,你應當立即切換過去。如果你沒有這么做,那你為什么要在最初的地方創(chuàng)建這個分支呢?
——Tags
  SVN組成Tags。從表面上看,SVNbranches和SVNtags沒有什么差別,但是從概念上來說,它們有許多差別。其實一個SVNtags就是上文所述的“為這棵樹照張相”:一個trunk或者一個branch修訂版的命名快照。
  以下內容將告訴你如何使用SVNtags:
作為一個開發(fā)者,永遠不要切換至、取出,或者向一個SVNtag提交任何內容:一個tag好比某種“照片”,并不是實實在在的東西,tags只可讀,不可寫。
在特殊或者需要特別注意的環(huán)境中,如:生產環(huán)境(production)、?(staging)、測試環(huán)境(testing)等等,只能從一個修復過的(fixed)tag中checkout和update,永遠不要commit至一個tag。
對于上述提及到的環(huán)境,可以創(chuàng)建如下的tags:“production”,“staging”,“testing”等等。你也可以根據(jù)軟件版本、項目的成熟程度來命名tag:“1.0.3”,“stable”,“latest”等等。
當trunk已經(jīng)穩(wěn)定,并且可以對外發(fā)布,也要相應地重新創(chuàng)建tags,然后再更新相關的環(huán)境(production,staging,etc)
——工作流樣例
  假設你必須添加了一個特性至一個項目,且這個項目是受版本控制的,你差不多需要完成如下幾個步驟:
使用SVNcheckout或者SVNswitch從這個項目的trunk獲得一個新的工作拷貝(branch)
使用SVN切換至新的branch
完成新特性的開發(fā)(當然,要做足夠的測試,包括在開始編碼前)
一旦這個特性完成并且穩(wěn)定(已提交),并經(jīng)過你的同事們確認,切換至trunk
合并你的分支至你的工作拷貝(trunk),并且解決一系列的沖突
重新檢查合并后的代碼
如果可能的話,麻煩你的同事對你所編寫、更改的代碼進行一次復查(review)
提交合并后的工作拷貝至trunk
如果某些部署需要特殊的環(huán)境(生成環(huán)境等等),請更新相關的tag至你剛剛提交到trunk的修訂版本,使用SVNupdate部署至相關環(huán)境
Tags:svn,翻譯。SVN組成中trunk,branches and tags概念、功能和用法等介紹完畢。請關注本節(jié)的其他報道。

 【編輯推薦】

  1. SVN中tag branch trunk用法詳解
  2. SVN圖標含義及常見問題解決方法深度剖析
  3. SVN中Branch和tag優(yōu)劣大比拼
  4. 三步實現(xiàn)Eclipse中使用SVN插件進行團隊開發(fā)和SVN最新可視化版本庫安裝
  5. MyEclipse下配置SVN專家全程指導

 

責任編輯:佚名
相關推薦

2010-05-24 18:32:16

SVN中tag bra

2010-06-02 13:24:02

SVN用法

2010-05-25 17:13:26

SVN子命令log

2010-09-17 13:02:11

JAVA反射機制

2010-05-25 17:46:51

SVN備份

2010-09-07 16:04:02

CSS

2010-06-02 13:36:18

SVN用法

2010-05-24 14:57:10

SVN子命令

2010-06-08 17:42:50

UML構造塊

2010-05-24 10:45:52

子命令Svn lock

2010-05-26 19:36:34

SVN目錄結構

2023-05-11 16:47:21

playwright用法程序

2015-12-09 09:51:03

Java高性能

2010-05-20 12:43:37

SVN Update命

2010-05-25 17:35:12

SVN代理

2010-10-09 09:56:51

JavaScriptObject對象

2010-09-07 16:46:59

CSSexpression

2010-09-08 13:01:20

atCSS

2010-05-26 14:28:53

本地SVN

2010-06-08 18:01:00

UML組成
點贊
收藏

51CTO技術棧公眾號