subversion和git是最出名的两款版本库管理软件。两者的比较参见: 别 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
架构图如下:
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. 了解如何使用gitb. 了解如何使用 参见http://schacon.github.io/git/git-svn.htmlc. 使用git-svn前, 参见 http://schacon.github.io/git/git-svn.htmld. 适合于有限的git-svn工作流,应避免非线形历史和合并SubGit:了解如何使用git2. 安装一次
Git-Svn:每个开发者需要:a. 使用git-svn克隆版本库,耗时时间依赖版本库大小b. 调整git-svn配置,确保不会与其他用户的配置发生冲突c. 遇到众多的git-svn陷阱和告警SubGit:a. 系统管理员在已有的git或subversion版本库服务器上安装SubGit,调整相关配置,重新启动服务b. 开发者使用git3. 无差错转换
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.
参见手册: http://subgit.com/book-remote/index.html :http://www.ttlsa.com/html/1906.htmlsubversion版本库服务器上安装SubGit。subversion和git库在同一服务器上。转换在两个方向上立即进行,同时介绍了最小的开销。2.
参见手册: http://subgit.com/book/index.html一次性将现有的subversion库导入到Git,不需要同步。具体使用请专注下节内容。
如需转载请注明出处: