我们意识到我们希望干线中的某些工作实际上已经存在于分支中。我们希望有几个提交进入分支,最好是保留提交的历史。所以:
r0 --- r1 --- r2 --- r3
会变成
branch --- r2 --- r3 / r0 --- r1 ----- *
“*”是我们开始向主干提交新提交的地方。我很紧张,如果我做错了,我会破坏我们的存储库。请指教,谢谢!
答案 0 :(得分:2)
基本上,trunk的当前状态对分支来说是好的,所以你应该从svn copy
到所需的trunk
子目录中执行服务器端branches
:
svn copy svn://path/to/trunk svn://path/to/branches/foo -m "Creating branch Foo"
然后你需要将trunk恢复到r1,这可以通过从r1到r3应用反向补丁或者实际使用svn merge来轻松实现:
svn merge r3:r1 svn://path/to/trunk
编辑:实际上,这里有一个更好的解决方案:How do I properly branch post-commit and revert the trunk in svn?