由于svn是新手,前段时间因为项目需求,需要使用svn,一开始一头雾水,后来查了很多资料,算是入了个门,现把一些小结写下来,希望对你有用。
这篇文章适合的对象:你现在在和别人一起做一个项目,各自编写代码,然后每天完工后得坐在一起,交流各自改了哪些代码,然后复制来复制去,最后放在一台主 机上保存(很可能是用移动硬盘来移动代码,稍好点的用ftp),第二天继续。那你应该使用svn,搭配上google code,可以很方便的管理你的项目。
首先在你的机器上安装subversion:
sudo apt-get install subversion
然后,去http://code.google.com,为你们的项目建立一个主页。建立完毕后,需要将你目前的代码上传google code的代码库中,在主页中,选择Source — Checkout,你可以看到如下说明:
If you plan to make changes, use this command to check out the code as yourself using HTTPS:
# Project members authenticate over HTTPS to allow committing changes.
svn checkout https://xxx.googlecode.com/svn/trunk/ xxx --username name
When prompted, enter your generated googlecode.com password. Use this command to anonymously check out the latest project source code:
# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://xxx.googlecode.com/svn/trunk/ xxx-read-only
你可以看到两个命令(xxx,username都被我替换掉了):
svn checkout https://xxx.googlecode.com/svn/trunk/ xxx --username name
svn checkout http://xxx.googlecode.com/svn/trunk/ xxx-read-only
前一个是你可以用来修改提交你代码,后一个只能下载浏览你在google code代码库中的代码。
我们当然是要用第一个,打开终端,进入原来你的项目根目录,然后将第一条指令复制,回车,svn会自动下载代码库中的代码(实际上这个时候google
code中的代码库是空的,因此不会有什么代码文件下载下来)。
我们现在是第一次运行,所以google code上的代码库是空的,checkout完了之后,你肯定想马上将你的所有项目文件上传到google code中,这实际
上叫做提交。
先要将你的项目文件加入到本地的代码库。
svn add * 接下来是将这些文件上传 svn ci -m "你的说明"
完毕之后,你再去你的google code主页的source–browse看看,项目文件是不是全都有了?在source-changes中,还可以看见你刚才提交的记录。
第一次运行就是以上步骤,以后你在本地修改完代码之后,进行提交,google code的代码库里就永远都是最新的代码了,让你的伙伴也这么做,你们就能协同合作了。
一些常用的svn操作:
svn add file //如果你新创建了一个文件或者文件夹,需要执行这条指令将其加入本地代码库。
svn delete file //这是删除
svn status //看看当前本地代码库的状态
svn ci -m "message" //所有的工作做完后,需要执行这条,来提交你的代码到google code代码库
svn up //检查最新版本
因此,一般来说,你一天的工作流程应该是这样:
svn up //先更新
svn add xxx
svn delete xxx
....
//修改本地文件,可以随时用svn status查看
svn ci -m "message" //最后提交
更多svn的知识,请看Subversion中文站
_____________________________________________________
注意:直接这样操作,可能不会好用,尤其是svn ci -m 这句,google之,很多人出现这类问题,解决方案:svn ci --username yourusername
见http://code.google.com/p/support/issues/detail?id=4218
http://saw-unix.com/2010/07/linux_google_code_subversion.html