SVN最简单的迁移方法

看了网上好多SVN迁移方法,都觉得比较复杂,最后本人采取最简单的方法:

举例:版本库名称为test,则test目录下有conf,db,hooks,locks,format,README.txt,

1.将test从A电脑拷贝到B电脑

2.安装Setup-Subversion-1.6.6.msi.

3.dos窗口运行>svnserve -d -r F:\Subversion\test

4. 下面用TortoiseSVN访问就可以了。 如果要创建服务,参照svn环境搭建就可以了,如下:

sc create svnserve binpath= "\"D:\Program Files\svn-win32-1.7.11\bin\svnserve.exe\" --service --root F:\Subversion\test" displayname= "Subversion Server" depend= tcpip start= auto

### SVN代码迁移到Git的方法 #### 方法概述 将SVN代码迁移到Git可以通过多种方式实现,其中最常用的是通过`git-svn`工具完成迁移。此方法可以保留完整的提交历史记录,并支持复杂的分支结构迁移[^1]。 --- #### 使用 `git-svn` 工具进行迁移 以下是基于 `git-svn` 的具体操作流程: 1. **安装 Git 和 git-svn** 确保已安装最新版本的 Git 并包含 `git-svn` 支持。可通过以下命令验证: ```bash git --version which git-svn ``` 2. **初始化 Git 仓库** 创建一个新的本地 Git 仓库并与 SVN 仓库建立连接。 ```bash mkdir myProject cd myProject git svn init <SVN_URL> --stdlayout ``` 参数说明: - `<SVN_URL>` 是目标 SVN 仓库地址。 - `--stdlayout` 表示标准布局(trunk, branches, tags),可根据实际需求调整。 3. **获取 SVN 历史记录** 执行以下命令拉取所有提交记录: ```bash git svn fetch ``` 此过程可能耗时较长,取决于 SVN 仓库的历史记录数量。 4. **转换作者信息(可选)** 如果希望将 SVN 提交者映射为 Git 用户名,则需创建一个 `authors.txt` 文件,格式如下: ``` svn_user_name = Full Name <email@example.com> another_svn_user = Another User <another@example.com> ``` 配置完成后重新初始化并指定该文件: ```bash git svn init <SVN_URL> --stdlayout --prefix=svn/ --no-metadata --authors-file=./authors.txt git svn fetch ``` 5. **清理和优化** 转换完成后,建议删除 `.git/svn` 目录以减少存储空间占用: ```bash rm -rf .git/svn ``` 6. **推送到远程 Git 仓库** 将本地 Git 仓库推送至新的远程仓库: ```bash git remote add origin <GIT_REPO_URL> git push -u origin --all git push -u origin --tags ``` 替换 `<GIT_REPO_URL>` 为目标 Git 仓库地址。 --- #### 不使用 `git-svn` 的简单迁移 对于不需要保留完整提交历史的情况,可以直接克隆代码并通过常规 Git 流程上传。 1. 导出 SVN 项目代码: ```bash svn checkout <SVN_URL> myProject cd myProject ``` 2. 初始化新 Git 仓库: ```bash git init git add . git commit -m "Initial commit from SVN" ``` 3. 关联远程仓库并推送: ```bash git remote add origin <GIT_REPO_URL> git push -u origin master ``` 注意:这种方法不会保留 SVN 中的历史记录[^2]。 --- #### 处理忽略文件 如果需要将 SVN 的忽略规则转换为 `.gitignore` 文件,可以执行以下命令: ```bash cd ./project git svn show-ignore > .gitignore git add .gitignore git commit -m 'Convert svn:ignore properties to .gitignore.' ``` 这一步有助于保持代码库的一致性和整洁性[^4]。 --- #### 后续维护 迁移完成后,应定期检查旧 SVN 服务器的状态,逐步停止其服务以免重复更新造成混乱。同时通知团队成员切换到新的 Git 开发环境[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值