svn 代码迁移到git

    • 1、收集svn上的人员信息,并编辑成git能识别的账号
    • 2、使用 git svn clone 命令 克隆代码(以下步骤建议在win10上操作)
    • 3、用git命令查看提交记录 (按q退出 )
    • 4、关联git上的项目地址
    • 5、 将本地代码提交到远程仓库
    • 6、合并到master分支
  • 接下来记遇到问题即解决方法

因公司架构变动,现要求将手中负责的项目从svn上迁移至git,其实迁移很简单,但是还需要保留 svn上的提交记录,就无行的给工作增添了一些难度,得还好网上教程比较多,这里是我实战的笔记,仅供参考。

1、收集svn上的人员信息,并编辑成git能识别的账号

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > users.txt

注:此命令最好是在mac或LINUX系统上执行生成 users.txt

执行成功后会在 svn目录生成 users.txt
##2、 将用户信息修改成git能够识别的格式

zhansan = 张三 <zhansan@qq.com>
lisi = 李四 <lisi@qq.com>
wangwu = 王五 <wangwu@qq.com>

注:如果这个时候还知道用户的邮箱可先保持与前面英文账号保持一致

2、使用 git svn clone 命令 克隆代码(以下步骤建议在win10上操作)

git svn clone https://svn_project_url/ --no-metadata --authors-file=../users.txt ../bpms-bb

注:svn_project_url 即你的svn代码地址

3、用git命令查看提交记录 (按q退出 )

D:\克隆到本地代码地址> git log

4、关联git上的项目地址

D:\克隆到本地代码地址>git remote add origin https://gitlab.wuhan.cn/project/xiangzi.git

查看关联地址是否正确
git remote -v

5、 将本地代码提交到远程仓库

git pull origin master

如果提交报错 ,说明远程仓库有操作记录,可以使用强制合并提交
git pull origin master --allow-unrelated-histories

6、合并到master分支

git push origin master
这样就基本完成了 迁移工作。


接下来记遇到问题即解决方法

1、 svn迁移到git时因其他原因中断,再次使用clone 命令报错

Using existing [svn-remote "svn"]
svn-remote.svn.fetch already set to track :refs/remotes/git-svn

在项目目录上使用命令:git svn fetch 继续操作,可节省不少时间

2、由于项目较大,或者同时执行多个克隆命令 导致空间不足

libsvn: Out of memory - terminating application.0 [main] perl 641 cygwin_exception::open_stackdumpfile: Dumping stack trace to perl.exe.stackdump

我的解决方法是将窗口关掉,打开新命令窗口 并执行:git svn fetch

3、 svn代码迁移到git ,电脑突然关机,或误操作将命令窗口关闭

.git/svn/refs/remotes/git-svn/index.lock': File exists.Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
write-tree: command returned error: 128

执行命令 git svn fetch 也会报错,需要找到 index.lock,删除掉再执行即可

svn 代码迁移到git相关推荐

  1. 【git学习】SVN项目迁移到Git操作指南

    2017年6月份的时候,我就着手在公司推广git,首先我自己尝试搭建了GitLab来管理代码,并且通过以下博客记录了GitLab的搭建,以及GitLab备份,GitLab升级等事情. git学习--- ...

  2. 项目代码迁移(使用git)

    项目代码迁移(使用git) 克隆老仓库(裸仓库): git clone --bare git@codehub.devcloud.huaweicloud.com:e2f197xxxxxxx19fc4ae ...

  3. SVN仓库迁移到Git遇到的两个问题和解决办法

    SVN仓库迁移到Git遇到的两个问题和解决办法 参考文章: (1)SVN仓库迁移到Git遇到的两个问题和解决办法 (2)https://www.cnblogs.com/shawnpoo/p/SVN-c ...

  4. 将 svn 仓库迁移到 git 仓库

    将 svn 仓库迁移到 git 仓库 1. 找回 svn 仓库的 url 2.将 svn 仓库迁移到 git 仓库 2.1.git命令版 2.2.小乌龟 TortoiseGit版本 1. 找回 svn ...

  5. 使用git命令导出项目_【git学习】SVN项目迁移到Git操作指南

    参考链接 在迁移的过程中,参考了以下的链接: 第一步.建立SVN用户到git用户的映射文件在 Subversion,每个提交者在都在主机上有一个用户名,记录在提交信息中.如果想让已有的信息更好的映射到 ...

  6. SVN代码迁移到Gitlab(保留SVN的提交记录)

    概述 项目开发前期是用自有 SVN 进行项目管理的,开发完成后,因客户要求,需要将源码提交到客户提供的 Gitlab,故进行项目迁移. 主要步骤 1. 账号对应 2. 拉取 SVN 代码记及日志 3. ...

  7. SVN——SVN项目迁移到GIT

    svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料,包括svn的提交日志记录也迁移到Git上面 ...

  8. 【代码迁移】Git动态更换版本仓库

    我们在开发过程中,前期一直是在每个版本仓库中开发和管理,而后面因为业务需要需要换远程仓库:这种情况下大家会怎么做呢? 我相信大部分人的做法是直接把代码copy到新的远程仓库上面去,重新开始:当然这也是 ...

  9. 使用subgit进行svn迁移至git(branch,tags)

    前言: 最近公司需要将整体项目从svn迁移至gitlab上,经过几天的研究,现记录一下流程 整体思路是进行一次导入: 先通过subgit将svn整个import至本地,在与git上的项目进行合并. 1 ...

最新文章

  1. android表视图,android – 列表视图与表格布局
  2. 【Linux】一步一步学Linux——head命令(41)
  3. jquery中如何实现一个li里面一排6张图片进行切换
  4. 遭遇一次MySQL猜解注入攻击
  5. Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!)
  6. 期待!华为或在今年8月/9月推出自家操作系统
  7. python画平面直角坐标系_Python 数据可视化:重新认识坐标系
  8. Eclipse之Android开发环境搭建
  9. linux中so文件如何打开,安卓手机如何打开.so文件?
  10. uView项目前端获取屏幕高度
  11. 如何执行IntelliJ IDEA 中的.sql文件
  12. SpringBoot的@Value注解设置默认值
  13. ultrascale和arm区别_ZYNQ UltraScale+ MPSoc FPGA初学笔记
  14. 微信小程序 自定义组件之 胶囊对齐 搜索FloatSearch
  15. 动作捕捉系统用于柔性机械臂的末端定位控制
  16. 江苏省计算机二级c语言考试范围,江苏省计算机二级C语言考试大纲.doc
  17. 《俞军产品方法论》读书笔记
  18. poj 1264 SCUD Busters
  19. 谷歌Android无障碍套件,android无障碍套件下载-安卓无障碍套件最新版-游戏大玩家...
  20. 智能健康监测床垫算法实现---基于EMD算法采集心跳和呼吸心率分离(附详细源代码)适用于PVDF传感器和其他压阻人体体征传感器

热门文章

  1. 数仓工具—Hive实战之滑动/滚动时间窗口计算(19)
  2. 一文带你读懂Mock测试
  3. 透明质酸仿生细胞纳米囊泡|双载药红细胞膜纳米囊泡|脐带间充质干细胞质膜囊泡
  4. 使用Spring Boot 的CommandLineRunner遇到的坑
  5. Microsoft Exchange Server 2007: Tony Redmond's Guide to Successful Implementation
  6. 15/18位身份证号码验证的正则表达式总结(详细版)
  7. WIFI之一:WIFI常识 基站定位原理
  8. Cannot find reference 'dynamic_rnn' in '__init__.py'
  9. 七夕情人节~html+css+javascript实现满屏爱心特效(程序员表白)
  10. python三种注释方法