我有一些提交记录在我的分支上。我想要将这些分支合并到主干上,但是我的分支上有一些提交记录我不想合并到主干上。应该怎么做呢?
你想实现的通常在版本控制系统中被称为挑选。
假设你想要将你的分支上的修订版本345、364和377合并到主干(trunk)上,那么你需要在一个干净的工作副本(trunk)的顶层目录下执行以下操作:
svn merge -c345,364,377 ^/_your_branch_
在Windows中使用cmd
命令时,在分支名称周围添加引号:
svn merge -c345,364,377 "^/_your_branch_"
你可以在SVN书的相应章节中找到更多信息。
^/trunk
是源分支。所以我认为在检出 trunk 的同时,示例应该是 svn merge -c345,364,377 ^/yourbranch
,对吗? - Mark仅仅是为了扩展Yannick的回答。
当你需要将一个或几个特定的提交从一个分支合并到另一个分支时(例如需要合并分支“from”中的提交r13和r666到分支“to”中),你需要:
检查提交的可用性(只是为了确保):
svn diff -c 13,666 https://fullpathtoyourproject/branches/_from_
切换到分支 to:
svn sw https://fullpathtoyourproject/branches/_to_
合并提交
svn merge -c 13,666 https://fullpathtoyourproject/branches/_from_
如果您需要获取“fullpathtoyourproject”,只需输入以下内容:svn info
在 URL 部分,您将看到这个路径。您可以使用修订号将所需的提交合并。