如何将旧SVN仓库中的未提交代码提交到新SVN仓库?
旧SVN宕机后本地未提交代码迁移至新SVN仓库操作步骤
- 第一步:清理本地旧工作副本的SVN关联
打开你存放未提交代码的本地项目根目录,开启系统隐藏文件显示权限,递归删除所有层级下的.svn文件夹,彻底清除本地代码和已宕机旧SVN仓库的关联标记,避免后续操作被默认指向旧仓库地址报错。操作前务必确认本地代码完整包含所有你未提交的改动,旧仓库已经宕机无法回溯,删完标记前可以额外打个压缩包备份下本地代码,防止误操作丢内容。
- 第二步:拉取新SVN仓库的基线版本
新建一个空目录,从新SVN仓库拉取对应项目的最新可提交版本到本地:
用命令行操作直接执行:svn checkout <新SVN项目仓库URL> <本地空目录路径>
用TortoiseSVN这类可视化客户端的话,右键选“SVN检出”,填入新仓库地址和本地存放路径等待拉取完成即可。 - 第三步:合并本地代码到新工作副本
把第一步清理完旧SVN标记的本地代码,全量复制粘贴到刚拉取下来的新SVN工作副本目录中,遇到同名文件覆盖提示时全部选择覆盖。如果新旧仓库的项目基线版本差异较大,复制完成后建议本地做一次编译/功能校验,提前解决版本差异带来的代码冲突。 - 第四步:提交前变更核对
在新SVN工作副本目录中调出SVN状态检查:- 对标记为“已修改”的文件,逐个核对内容是否为你需要提交的个人改动,剔除本地测试临时文件、编译缓存、个人IDE配置这类不需要提交的内容
- 对未纳入版本控制的新增代码文件/目录,执行添加操作(命令行用
svn add <目标文件/目录路径>,可视化客户端右键选“TortoiseSVN-添加”),把需要提交的内容全部纳入版本管理 - 确认不需要提交的本地文件,提前加入SVN忽略列表,避免后续误提交
- 第五步:执行提交
所有变更核对无误后,执行提交操作:
命令行执行:svn commit -m "迁移旧SVN宕机前未提交代码,改动范围:[填写你的模块/功能点说明]"
可视化客户端直接选“SVN提交”,填写清晰的提交日志后确认提交即可。
提交完成后建议在新仓库重新拉取一次最新版本做校验,确认所有代码内容完整、提交成功即可。
内容的提问来源于stack exchange,提问作者Anvika
相关产品推荐
相关产品推荐

