②话不说▼ 2012▼ 手册 git svn 协作 版本

012.GIT加SVN构建混合VCS

项目(UC)有多地团队协作开发,其版本管理用的传统的CVCS(这里是SVN). 但,其中A团队,组员分散且不能实时联网.因此,A团队采用了DVCS(这里是GIT).

@史荣久 / 2012-10-17 / CC-BY-SA-3.0

1. 故事背景

项目(UC)有多地团队协作开发,其版本管理用的传统的CVCS(这里是SVN). 但,其中A团队,组员分散且不能实时联网.因此,A团队采用了DVCS(这里是GIT).

2. 方案核心

  1. svn checkout uc.
  2. git init uc.
  3. .gitignore中忽略 .svn等版本文件.
  4. svn中不提交或忽略 git版本文件.

这样,uc中共存了git和svn两套版本管理信息.
目录结构大概为:{uc/,.git/,.svn/,.gitignore}
两者相互独立,互补干扰.

3. 实弹演习

服务器环境:ubuntu,gitolite
开发环境是Eclipse (Juno),关联的插件如下:
subversive: subversive-svn-team-provider
Egit: egit-git-team-provider
EasyShell:方便打开目录,调出命令行.

4. 个人总结

subversive优于subeclipse.其,SvnKit优于javaHL
Egit同步尚可,合并不佳(不如命令行).同步不fetch,手动fetch.
ubuntu下,gitg图形不错,但对中文文件和时区支持不佳.
window下,需要msysgit1.7.10+,以支持UTF8,防止中文文件名乱码.

《012.GIT加SVN构建混合VCS》 项目(UC)有多地团队协作开发,但,A团队,组员分散且不能实时联网.A团队采用了DVCS(这里是GIT).
题图:英极Credit团队(2004~2014),那时我们叫活力门金融事业部,然后水门,活力门,拉链门,出事了。