如何从RTC现有组件创建新组件且保留历史记录?
拆分RTC组件并保留历史记录的可行方案
我刚好处理过类似的RTC组件拆分需求,给你整理了两个经过验证的可行方法,都能完整保留各子项目的历史记录:
方法一:使用RTC SCM命令行工具(官方推荐)
RTC的命令行工具提供了专门的scm split命令,能直接将现有组件的子文件夹拆分到新组件,步骤如下:
- 首先确保你本地有包含目标组件的完整Workspace,并且已经同步了最新的变更集
- 打开命令行终端,切换到Workspace的根目录
- 执行拆分命令:
scm split -w <你的Workspace本地路径> -s <原组件名称> -t <要创建的新组件名称> -p <要拆分的子文件夹相对路径> - 命令执行完成后,新组件会在本地Workspace中创建,且包含该子文件夹的全部历史记录
- 接下来需要将新组件共享到远程RTC仓库:在RTC的SCM视图中右键点击新组件,选择「共享」,关联到你的项目区域
- 最后回到原组件,删除已经拆分的子文件夹,提交这个变更集,完成拆分
方法二:通过GUI手动拆分(适合不熟悉命令行的场景)
如果更习惯图形界面操作,可以按以下步骤来:
- 先在RTC中创建一个空的新组件,关联到你的项目区域
- 在本地Workspace中,找到原组件下要拆分的子文件夹,不要直接在文件系统移动,而是在RTC的SCM视图中右键点击该文件夹,选择「移动」,目标位置选择新组件对应的本地路径
- 提交这个移动变更集,此时新组件会包含该子文件夹的所有历史记录(RTC会保留文件的变更轨迹)
- 将新组件同步到远程仓库,确保团队成员可以访问
- 回到原组件,确认子文件夹已经被移除,提交最终的变更集
注意事项
- 操作前务必备份你的Workspace和远程组件的快照,避免操作失误导致数据丢失
- 拆分完成后,记得通知团队成员更新他们的Workspace,将新组件添加到各自的流中
- 如果有依赖该组件的构建定义、流水线等,需要同步更新组件依赖配置
内容的提问来源于stack exchange,提问作者Ras
相关产品推荐
相关产品推荐

