一个项目一般会有多个分支,当某个大的改变在某个分支做完后需要被merge到trunk或其它分支时,这就需要用到merge。
同步Merge (syncmerge)
svn merge source[$rev] [TARGET_WCPATCH]
TARGET_WCPATCH是工作副本,默认是”.”( 代表当前目录)。
使用这个命令的主要目的是为了与源分支保持同步,把源分支上的更改也复制到当前分支中。因此也叫同步merge或“catch-up” merge。
使用这个命令时,需要当前分支是干净的,没有本地还没有提交的改变。
例: svn merge ^/trunk
择优Merge (cherry-pickmerge)
svn merge [-c M[,N...] | -rN:M ...] SOURCE[@REV] [TARGET_WCPATH]
TARGET_WCPATCH是工作副本,默认是”.”( 代表当前目录)。
从另一个分支中,merge指定版本中的更改,忽略这些版本号间没有指定的版本更改。
-c M[,N…]: 这个用来指定单个不连续的版本, 如-c 551就是指只merge第551号版本的更改。
-r N:M:这个用来指定连续的版本号,如-r 550:555就是指把550到555之前的所有更改都merge。
其中-c M等于-r M-1:M。
<