有时候代码管理比较混乱,如果你想像一个正式项目一样,能不停地check in code,能追踪自己的每一次code change,能定期发布一定的稳定版本,能和多人合作开发,能不用担心代码丢失而不用花钱找空间,那么Google Code是颇为不错的选择。
1. 建立自己的project
http://code.google.com/hosting/createProject
假设您建立了<your_project>
2. checkout/checkin code
下面的页面就会告诉你怎么浏览文件和checkout文件,
http://code.google.com/p/<your_project>/source/checkout
通常项目文件由/trunk, /branches, /tags组成,因此我们未来的目录构造会是:
|-- branches
| | -- b1
| `-- b2
|-- tags
|-- trunk
试想,平时的change都是在/branches/b1,到一定时候就merge到/trunk去
笔者建议您最好弄两个不同的svn client,一个作为稳定的/trunk,一个作为/branches/b1
I) 稳定/trunk
svn checkout https://<your_project>.googlecode.com/svn/trunk/ project_trunk --username yourmailaddr@gmail.com
II) branch /branches/b1
svn checkout https://<your_project>.googlecode.com/svn/branches/ project_branch --username yourmailaddr@gmail.com
马上建立 /branches/b1
$ cd project_branch
$ mkdir b1
$ svn add b1
$ svn ci -m "create b1 directory"
好,现在生成了https://<your_project>.googlecode.com/svn/branches/b1
以后每一个branch的改动,用普通的"svn ci"就可以提交code change了。
3. Code Review
google code最棒的地方就是能方便地code review,而且能line by line地进行注释和评论,
http://code.google.com/p/<your_project>/issues/entry?show=review&former=sourcelist
Branch Path填上/branches/b1
需要注意的是,所谓的code review,是对已经check in的changelog进行code review,如果review的过程中发现问题,就再check in一个changelog来进行修正,因此,一次code review下来,很可能要check in好多个changelog,这也是为什么要在/branches/b1上不停修改,再最后一个大changelog来merge到/trunk的原因,/trunk的code change就显得很清爽。
4. Merge to /trunk
$ cd project_trunk
$ svn merge https://<your_project>.googlecode.com/svn/trunk/ https://<your_project>.googlecode.com/svn/branches/b1/ .
最后svn ci就可以了。
以后天天这么搞就行了,现在是不是很有owner的快感啊?呵呵