目前在公司参与的项目都是用 SVN 做版本控制的,然而我非常不喜欢 SVN:

  • 配置忽略文件规则没 Git 的 .gitignore 那么方便灵活

  • 查看提交记录慢的要死

  • 每次提交都得提交到远程仓库,不太方便

    • 网络不佳或 SVN 服务器故障的时候,无法提交

    • 有时同时做了几件事,想做完一起提交,但又不希望放到同一个提交记录里

    • 有时本地做好了某个东西,想先保存下来,但还不宜提交到远程仓库

让所有人把版本管理工具切换到 Git 是不现实的,只能自己想办法了,找找有没有桥接工具,自动把本地的 Git 提交记录转换成 SVN 提交记录并提交到仓库。

还真有这类工具。

Git 本身就自带了一个 git-svn,但是很多操作要使用 git svn 子命令,不好用。

最终发现了 SugGit,非常好用,配置好之后就完全可以忘掉远程仓库是 SVN 了。

已经使用几个月了,没遇到什么问题。

SubGit 的几个特点:

  • 商业软件,不过有免费版本,限制最多 10 个 Git 用户,个人使用或小团队都足够了

  • 使用 Java 编写,因此适用于各个平台

  • 可以直接与 SVN 仓库集成,或与 GitLab, GitHub 等 Git 托管平台集成

  • 双向同步:自动检查 SVN 仓库更新,转成 Git 提交记录;推送 Git 提交记录时自动同步提交到 SVN 仓库

使用方法比较简单,可以查看官方文档