我有\ trunk \ root \,其中包含文件夹ProjectA,ProjectB等。 我创建了root分支 - > \分支\任务\根\
现在我对包括ProjectB在内的任务项目进行了大量更改。
然而,\ trunk \ root \ ProjectB也已转移到使task \ Root \ ProjectB中的所有更改都冗余的点。
我想用\ trunk \ root \ ProjectB的内容完全替换\ branches \ task \ root \ ProjectB的内容。没有合并只是让任务版本ProjectB与trunk版本相同。请注意,当将任务重新合并到trunk时,我不希望在ProjectB中发生任何奇怪的事情,SVN应该只看到它是ProjectB中现在的旧版本并且不会更改其中的任何内容。
任何人都可以通过使用TortoiseSVN来指导一个像我这样知识渊博的SVN(也恰好是一个完整的CLI)吗?
答案 0 :(得分:3)
如果你对失去历史感到满意就可以了。
保留历史记录的另一种方法 - 但这将使用Eclipse IDE
答案 1 :(得分:3)
Switch
工作副本到/branches/task/root/ProjectB
(或checkout
来自此网址的新WC Merge
Merge two different trees
/branches/task/root/ProjectB
/trunk/root/ProjectB
Merge
(或Test merge
)这将带来必要的更改,使您的分支与主干相同。然后你可以提交。
答案 2 :(得分:0)
在乌龟中您可以右键单击并执行相当于“svn delete”的操作,即删除要杀死的分支。
然后你需要做一个Tortoise副本并放入新的路径。
答案 3 :(得分:0)
通常情况下,您应该定期将主干中所做的更改重新整合到分支中,以避免出现这种情况。
为什么不保留以前的分支,而是改为新分支?在结构中使用版本是很常见的,如:
branches/task/version1.0
branches/task/version2.0
tags/task/version1.0
tags/task/version2.0
trunk
要使用TortoiseSVN执行此操作,请移动您的分支:
TortoiseSVN
- > repo-browser
)Create folder
)Rename
)然后你可以正常进行:
TortoiseSVN
- > Branch/Tag
To URL
(branches / task / version2.0)(或者您可以使用repo-browser并从主干中执行Copy to
)
当工具警告你时,你仍然需要切换:
TortoiseSVN
- > Switch
To URL
(branches / task / version2.0)你会有更清洁的东西。
如果你选择删除分支,你可以通过指定要合并的修订范围(其中一个字段用TortoiseSVN填写)来避免混淆。确保排除与已删除分支相关的任何内容。但说实话,我会避免这种情况。