SVN merge 使用方法


1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH]

sourceURL1,sourceURL2的含義並不是兩個分支,或者一個分支一個主干,而是同一個分支的兩個版本。對這兩個版本做一個diff,然后把diff的結果,應用到最后的參數WCPATH上,WCPATH代表是一個本地已經checkout的工作區,如果不寫,則表示是當前路徑“./”。

使用該命令可以將branch上的改動merge到trunk上,如在trunk版本為100的時候拉出一個branch,版本號為101.當branch開發到150版本時,需要把branch上的改動merge到trunk上。則可以使用命令:

$ svn merge https://svn.proj.com/proja/branches/proja_branch_1@101 https://svn.proj.com/proja/branches/proja_branch_1 ./

2. merge sourceWCPATH1@N sourceWCPATH2@M [WCPATH]

此命令與上條命令類似,只不過參數變成了工作路徑而不是url。

3. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [WCPATH]
選項說明:

-r [--revision] ARG:表示版本號,ARG一般可以有以下幾種:

  • NUMBER:版本號
  • '{'DATE'}':開始時間為DATE的版本
  • ‘HEAD’:版本庫中最新的版本
  • ‘BASE’:工作路徑中的BASE版本
  • ‘COMMITTED’:BASE版本最近的一次commit版本
  • ‘PREV’:COMMITTED之前的那個版本

-c [--change] ARG: 表示更改,ARG的定義與上面相同。

該命令中,SOURCE可以為url或者工作路徑.

-r與-c的最終作用是相同的,都是將版本號為N和M的SOURCE(可以是URL或者是工作拷貝路徑)進行diff后,將更改應用到WCPATH(如果為空,則默認為當前路徑)。“-c M”相當於“-r <M-1>:M”,“-c -M”相當於“-r M:<M-1>”。如果范圍未指定,默認的則為“0:REV”。

4. 使用merge命令回滾代碼

如果代碼提交后發現需要回滾到舊的版本,則可以使用merge來完成該操作。

$ svn merge -r new:old SOURCE WCPATH

其中new是當前最新版本,old是要回滾到的版本,SOURCE為要回滾的svn路徑,WCPATH為當前工作路徑。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM