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

架构图如下:

git

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


你可能感兴趣的:(linux,SVN,git,subversion,subgit)