早先就知道 GoogleCode 支持 git ,不过一直没时间体验。近期实在受不了频繁的 svn commit 加上公司的联通网络访问 GoogleCode 实在是慢得让人无法忍受,于是咬咬牙想把 GoogleCode 中那陈年的代码迁移到 git 控制中。

总得来讲,设置 GoogleCode 项目中新的版本控制方案并不复杂,只需要在管理中点击需要的版本控制系统就行。不过令人失望的是 GoogleCode 并没有自动转换成你需要的版本控制系统 -- 可能这点要求有点高,或许可能是 GoogleCode 出于代码安全方面的考虑。

登录验证 不同于 GitHub 等使用 ssh 密钥(又有点小失望), 它使用 .netrc 规则 (出于安全考虑,尽量将这个文件的属性设置为 600)。

PS,Windows 用户可以将同内容文件更名为 _netrc 然后放到 %HOME% 目录中。下面的命令可以让你得知你的 %HOME% 目录在哪:

echo %HOME%

设置验证完成后,就可以进行 git 的 clone 或者 push 等操作了。这里还得提醒下的就是 wiki 和项目代码两个 clone 是分开的,虽然这并不是什么问题,但我更愿意是像 GitHub 一样是两条分支。

可能先前大家在 GoogleCode 上已经有 svn 控制的代码了,那么你一定想如何将 svn 控制的代码导入到 git 中, 那么这篇文章可以帮助你

值得注意的是,GoogleCode 上每个版本控制系统是独立的,这意味着即便你在后台选择了使用 git 作为版本控制系统,其实老的 svn 路径还是可以正常使用的。

总得来讲,相对 GoogleCode,我更喜欢 GitHub 多一点。甚至我还专门从 GoogleCode 中迁移了部分项目代码到 GitHub 上。不过相对 GitHub 而言,GoogleCode 的社会化属性相对少些,这或许对于开发者而言可以将更多的精力投入在开发中。

那么,到底爱 GoogleCode 还是 GitHub?既然用 git 了,这说明其实我只是不爱将鸡蛋放在一个篮子里而已 :^)

-- EOF --