svn 分支 合併

2021-08-16 04:56:04 字數 1626 閱讀 6430

儘管svn沒有作強制要求,但是一般svn版本庫目錄建議建立trunk、branches和tags三個目錄。 在實際操作時,trunk主幹版本要時刻保持乾淨,即隨時可以基於這個版本進行修改並將應用部署上線。branches是分支目錄,存放並行開發的專案**,因為分支是主幹的廉價拷貝(相當只是提交了一次主幹版本,增加了乙個版本號,並沒有取出版本庫作映象拷貝),所以你可以放心建立很多分支版本。不過subversion不支援跨版本庫的拷貝,當使用svn copy時你只能在同乙個版本庫內操作。tags目錄存放trunk某個的快照,比如說release-1.0即trunk處於1.0版本時的快照。

使用svn來作團隊的**管理,那麼分支和合併將是非常常用的操作。下面是乙個簡單的示例。

1 . 建立分支。這裡假設你要負責乙個叫theme的專案,分支號1.7.2。

#這裡的localhost是svn伺服器位址

svn copy -m "1.7.2 - theme"

svn://localhost/www

/trunk svn:/

/localhost/www

/branches/branch1.7.2-theme

svn co svn://localhost/www

/branches/branch1.7.2-theme

2 . 從trunk中merge到分支。忙了乙個星期終於開發完了,但是開發期間trunk版本有過改動,部署上線前你需要合併trunk的**。

#branch1.7.2-theme是分支目錄,注意不可以進到分支子目錄

cd branch1.7

.2-theme

#前面的12972是開分支之前trunk的版本號,後面的12991是merge時trunk的版本號

svn merge -r 12972:12991 svn://localhost/www/trunk

如果有衝突選擇p(postpone),merge完了之後使用svn st|grep ^c檢視衝突檔案,然後比對修改衝突檔案。解決衝突後再check in ,資訊寫上執行的merge操作。

svn ci -m

'svn merge -r 12972:12991 svn://localhost/www/trunk'

從分支merge到trunk。上線測試完畢,你很幸運,一切都如預期正常,這時就要將分支回歸trunk,將trunk更新到最新。

#先從trunk checkout乙份新鮮的**,然後cd到該版本目錄下

svn co svn://localhost/www/trunk

cd trunk

#12973是分支開始的版本號,13006是分支結束的版本號

svn merge -r 12973:13006 svn://localhost/www/branches/branch1.7.2-theme

如步驟2一樣解決衝突,解決衝突後再check in,資訊寫上執行的merge操作。

svn ci -m

"svn merge -r 12973:13006 svn://localhost/www/branches/branch1.7.2-theme"

相關的手冊可以參閱svn文件。

SVN拉分支,合併分支

前提是 本地已安裝svn,且在svn中新建好branch和tag目錄 拉分支 上圖中紅框選擇存放的路徑,點選ok就行了。合併 把分支 合併到主幹 方式一 通過eclipse合併主幹分支 1.在主幹專案上,右鍵 team 合併,出現下圖 2.選擇第一種方式,並把左下的選擇框 去掉,出現下方介面。3.點...

SVN分支與合併

合併 合併的工作是把主線或者分支上合併範圍內的所有改動列出,並對比當前副本的內容,由合併者手工修改衝突。如果當前工作副本是主線的,則合併的範圍是分支上的改動,如果工作副本是分支的,則合併範圍是主線上的改動 1 主幹合併到分支 如果是需要將主線的改動合併到分支上,需要在分支的工作副本下進行合併,合併的...

SVN分支與合併

一些相關的概念和原理 分支 branch 和標記 tag 對於 svn 來說就只是副本 copy 沒有任何其它意義。分支和標記的意義是我們人為給予的。svn 的副本是通過 cheap copies 來實現的,建立乙個副本就類似 unix 中建立乙個硬鏈結 hard link 空間和時間的消耗都是固定...