svn 代码导入到 git 操作指引

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svn 代码导入到 git 操作指引相关的知识,希望对你有一定的参考价值。

针对  svn 代码导入到 git 操作指引

  1. 背景说明

要求
  • 在 develop 分支上需要保留 branch 上的 log,不能只是一个合并提交。

具体操作步骤

  1. 从 SVN clone  trunk 和 branch 代码到本地

clone 完成后获得两个目录 分别是 trunk 和  branch-feature-june-milestonecd  trunk 进入到 trunk 目录
  • 在 trunk 目录下执行:git remote add  remote-branch  ../branch-feature-june-milestone ( ../branch-feature-june-milestone 是指前面 clone 获得的 branch 代码目录)

cd  trunk 切换到 branch 目录下
  • 执行:git checkout -b  branch-init

  • 执行 git log 查看提交,找到最早的由 scm 新建分支所提交产生的版本号:858f79c343a36cc6f30dcaae2501047908eeb039 (此处的版本号是指由scm 所提交的新建分支的提交版本号,注意,scm 可能有多个提交,一般会新建目录,再把代码导入到分支,所以,这个版本号一般会在该分支上的第一个或第二个 log 中出现,判断标准时,改 log 的后面一个是有开发人员提交的)

  • 执行 git reset --hard 858f79c343a36cc6f30dcaae2501047908eeb039  (此处是为了保证 该分支只剩下由 scm 所产生的所有提交,不能包含任何开发人员的提交,也不能遗漏 scm 所做的提交)

  • 执行 git log 查看日志,是否只剩余新建分支的日志。

cd  trunk  进入到 trunk 目录
  • 执行:git fetch remote-branch , 将 remote-branch ( ../branch-feature-june-milestone )中的代码同步到 trunk 目录下

  • 执行 git checkout  remote-branch/master  切换到 remote-branch/master 分支。

  • 执行 git rebase --onto master remote-branch/branch remote-branch/master

  • 如果执行上述命令过程中出现冲突过,先解决冲突,执行 git add 然后执行 git rebase  --continue 继续rebase 的动作。

  • rebase  完成后 执行 git checkout -b develop

  • 执行 git remote add origin [email protected]:lin.zhou/mobile-stock-zxjt-iOS.git (此处 地址需要更改为 自己需要迁移到的地址)

  • git checkout master

  • git push origin master:master 将 trunk 代码推送到 master

  • git checkout develop

  • git push origin develop:develop 将 branch 代码推送到 develop


以上是关于svn 代码导入到 git 操作指引的主要内容,如果未能解决你的问题,请参考以下文章

iOS界面操作指引的实现参考

iOS界面操作指引的实现参考

iOS界面操作指引的实现参考

手把手教你在 Ubuntu 上搭建 Git 服务器

CentOS 6.x下安装VMWare-tools操作指引

恒源云_训练指引