使用google code托管项目源代码,实现异地共享
在开发过程中,我们常常会因为更换svn服务器,或者项目组成员异地办公而导致代码无法及时同步的状况发生。为解决这种问题,我们可以尝试使用google code来托管项目源代码,甚至发布新版本。接下来就让我们一起来体验这种便捷工具的优越性吧!
?
一、??在google code上创建托管项目
1.??当然首先你需要有个google的邮箱账户,没有的话那就注册一个google邮箱吧,否则你就可以直接登录google邮箱了。
2.??登录以后,那就创建一个托管项目吧。
?

?
图表?1创建托管项目
?项目创建以后就是这样:
?

?
?图表?2??托管项目?
?
?这样,在google code上申请的托管项目已经建成,接下来就是上传需要google code帮我们管理的源代码了,请继续往下看。
?
二、上传项目源代码
1.?google code管理源代码的方式还是svn,所以建好的托管项目目录还是常见的svn基本目录:
?
?
2.?以JAVA开发工具MyEclipse为例上传源代码。
1)?打开MyEclipse,选择需要上传的工程:
?图表?4??需要上传到google code托管的项目
?
2)?共享工程:
?

?
?
??选择使用SVN:
?
? ??图表?6??使用SVN
?
??
? 图表?7??创建新的资源库位置
?
?? ?这里新的资源库的位置就是google code托管的项目的存放路径,具体查看方式如下:
???
?? ? ? ? ? ? ? ? ? ? ? ? ?
?图表?8? svn地址
?
??????这里我们使用“https://***.googlecode.com/svn/trunk/”这个地址。当然你也可以在trunk目录下自行添加你需要的文件夹,直接使用TortoiseSVN工具即可,具体用法请参考TortoiseSVN使用说明,这里不再赘述。需要指出一点,如果用TortoiseSVN等工具直接浏览托管项目的源代码时可能需要输入用户名和密码,所以项目经理们请先添加你们的项目成员吧:

?图表?9??添加项目成员
?这里与svn分配用户角色是一个道理,为了使项目组成员都有全部权限,可以将所有成员都加入项目拥有者一类,这样他们就拥有对于项目的最大权限,需要注意的是,他们也需要有google邮箱账户!
?
?? ? ? ?有了托管项目的账户,还需要密码才行,密码是跟用户的google账户挂钩的,可以在这里查看,你自己的自己查啊,呵呵:

?图表?10??查看设置用户密码
?
3)?上传代码。
上面已经将项目的路径共享了,现在还需要上传必要的代码,请注意google code对每一个托管项目每一次的上传限制是100M,所以请控制你的项目文件大小。
MyEclipse切换到svn控制台,上传有必要同步的文件:
?

?
?
此时,我们熟悉的svn界面又出来了,怎么样,就跟原来用的一个样吧。现在我们就可以在google code上直接查看咯:

?图表?12? google code上直接查看项目
?
??还可以点击进去,直接看源码:

?图表?13??查看源代码
?
?到这里我们托管项目就成功了,具体的做法,你动手自己做做看看是不是很简单。
?
3.?以TortoiseSVN等版本控制工具为例上传源代码。
TortoiseSVN等版本控制工具的使用方法就不再赘述,只要svn地址和用户名密码正确,就可以方便操作了,具体请自行实验。
?
三、使用google code的svn管理项目源代码
1.???google code提供了版本查看的便捷方式,我们首先在.java文件中修改:
?? ? ? ? ? ? ? ? ? ?public?static?void?main(String[] args) {
?????? ?????? ??//?TODO?Auto-generated method stub
?? ? ? ? ? ? ? ?System.out.println("Welcome to !"); ??//?这是新添加的代码
}
2.????在google code中查看:

?
?
??这里的r1. r2. r3等就是版本的控制编号,具体对比一下修改代码前的r3版和修改代码后的r4版:
??
?? ? ? ? ? ? ? ? ? ??
?图表?15??加入代码前的r3版
?
??
?
图表?16??加入代码后的r4版
???????????????????????????
??所以如果需要就直接可以查看个版本之间不同的变化,也可以通过下面的方式更加直观地查看更新状态:
??
?图表?17??修改历史
?
四、?总结
使用google code的方法是基于我们常用的svn方式的,符合大家的操作习惯。它对于我们多个项目组成员异地开发,同步项目代码可以起到很重要的作用,如有需要可以使用,如有不明可以共同讨论,谢谢!
?
?