zyk198500 发表于 2018-9-18 09:30:25

SVN版本库迁移到Git工具SubGit

  SVN版本库迁移到Git工具SubGit
  subversion和git是最出名的两款版本库管理软件。两者的比较参见: GIT与SVN之间的五大基本区别 http://www.ttlsa.com/html/1869.html
  使用SubGit工具可以将SVN迁移到Git上面。大大方便subversion和git用户,不管你喜欢哪款版本库管理软件,都可以创建可写的本地Git镜像或远程的subversion版本库。
  SubGit 2.0版本,开始支持远程subversion版本库,因此创建Git镜像,无需shell访问subversion版本库了。
  项目地址:
  http://subgit.com/index.html
  架构图如下:
http://www.ttlsa.com/wp-content/uploads/2013/07/150x150xsubgit1-150x150.png.pagespeed.ic.O_eenSDTga.jpg
  SubGit构建一个双向的subversion和Git复制。
  SubGit是一个将版本控制系统从SVN迁移到Git的工具,具有:
  1. 比Git自带工具git-svn更好
  2. 无需更改现有架构
  3. 可使用所有的git和subversion特性
  SubGit与git-svn比较
  SubGit是git-svn替代工具,自然而然SubGit解决了许多git-svn限制。
  1.理论基础
  Git-Svn:
  a. 了解如何使用git
  b. 了解如何使用Git-Svn 参见http://schacon.github.io/git/git-svn.html
  c. 使用git-svn前,注意事项 参见 http://schacon.github.io/git/git-svn.html
  d. 适合于有限的git-svn工作流,应避免非线形历史和合并
  SubGit:
  了解如何使用git
  2. 安装一次
  Git-Svn:
  每个开发者需要:
  a. 使用git-svn克隆版本库,耗时时间依赖版本库大小
  b. 调整git-svn配置,确保不会与其他用户的配置发生冲突
  c. 遇到众多的git-svn陷阱和告警
  SubGit:
  a. 系统管理员在已有的git或subversion版本库服务器上安装SubGit,调整相关配置,重新启动服务
  b. 开发者使用git
  3. 无差错转换
  Git-Svn:
  a. 用户使用git-svn ‘dcommit’将更改‘push’到subversion版本库
  b. git提交翻译过的subversion版本
  c. 另一个用户运行git-svn ‘rebase’获取这些更改
  d. subversion版本被翻译到git提交
  SubGit:
  a. 用户推git提交到git仓库
  b. git提交将异步转换到subversion版本
  c. 另一个用户从git仓库拉取这些提交
  d. subversion用户接受转换过的版本更新
  尽可能的将SubGit工作在异步方式下。
  4. 工具自由
  Git-Svn:
  唯一的,只有命令行的,只有线性的历史。
  SubGit:
  使用Git和任何工具只要你喜欢,如IDE集成或独立的Git的UI客户端。
  SubGit使用手册:
  SubGit手册有两类:一种是解释如何安装SubGit到subversion版本库,另一种是解释如何镜像远程的subversion版本库。选择哪种取决于你的需求。
  创建一个Git仓库,通过网络访问远程subversion版本库,做个镜像库。从Git转换到subversion开始推操作,从subversion转换到Git在后台异步执行。
  1. 获取一个远程subversion库镜像
  参见手册: http://subgit.com/book-remote/index.html中文手册:http://www.ttlsa.com/html/1906.html
  subversion版本库服务器上安装SubGit。subversion和git库在同一服务器上。转换在两个方向上立即进行,同时介绍了最小的开销。
  2. SVN安全的迁移到Git
  参见手册: http://subgit.com/book/index.html
  一次性将现有的subversion库导入到Git,不需要同步。
  具体使用请专注下节内容。
  如需转载请注明出处: SVN版本库迁移到Git工具SubGit

页: [1]
查看完整版本: SVN版本库迁移到Git工具SubGit