
之前项目,都是大家各自保存代码,要不就传个压缩包,要不就用QQ啥的传,那叫一个乱。有时候一个人改了点东西,别人不知道,结果就覆盖了,或者出现版本冲突,那叫一个麻烦。搞得...
之前项目,都是大家各自保存代码,要不就传个压缩包,要不就用QQ啥的传,那叫一个乱。有时候一个人改了点东西,别人不知道,结果就覆盖了,或者出现版本冲突,那叫一个麻烦。搞得大家都很心烦,项目进度也受影响。
我就琢磨着,得有个集中的地方,能放代码,还能追踪谁改了什么,什么时候改的。我之前听说过SVN(Subversion),听名字就感觉挺专业的。查了查,发现它就是干这个的,一个版本控制系统。听起来不错,就决定试试自己搭建一个。
得找个服务器。我,就在家里的一台旧电脑上捣鼓,把它变成一个服务器。装了个Linux系统,因为我觉得Linux比较稳定。然后,就开始安装SVN。网上有很多教程,照着一步步来,也不算太难。主要就是安装`subversion`这个包,然后配置一下。
安装完之后,得创建一个代码仓库,就是放代码的地方。用`svnadmin create /path/to/your/repo`命令就行,很方便。这个命令会创建一个名叫`repo`的文件夹,里面都是SVN需要的文件。

就是配置用户和权限了。SVN可以设置不同的用户,每个人有自己的账号密码,还能控制他们能干比如只能读,还是能读写。我用了`htpasswd`来管理用户密码,创建了几个测试账号。
然后,还得让别人能访问到这个服务器。我开了SVN的默认端口,也就是3690。因为是内网,直接用IP地址就能访问了。
服务器搭好了,接下来就是客户端这边了。我让组里的同事都装上SVN客户端,我推荐用`TortoiseSVN`,这个在Windows上用着特别方便,跟Windows资源管理器集成得很
连接也很简单,就是右键点击一个文件夹,选择“SVN检出”,然后输入服务器的地址,比如`svn://your_server_ip/repo`。检出之后,这个文件夹就跟SVN服务器上的代码仓库关联起来了。

然后,大家就可以开始往里面提交代码了。每次改完代码,点一下“SVN提交”,输入提交信息,就能把自己的改动上传到服务器。如果别人提交了新代码,就点一下“SVN更新”,就能把最新的代码下载下来。
刚开始用的时候,确实也遇到点小问题。比如,有时候提交的时候会提示冲突,这时候就需要跟改动同一部分代码的同事沟通一下,看看谁的版本是最终要的,然后合并起来。还有就是,不小心删了代码,没关系,SVN都能找回来,这点最让人放心。
还有一次,我把服务器关机了,结果好多人都说连不上SVN,我才意识到,服务器得一直开着才行。后来就设了个计划任务,让它每天自动重启一下,这样就基本不会有问题了。
我们团队的代码管理就用SVN了,大家都能看到最新的代码,也不会再出现谁覆盖谁的乌龙事件了。有什么改动,都能追溯到谁在什么时候做的,效率确实提高了不少。虽然SVN可能不是最新的技术,但对于我们这种中小型团队来说,它已经足够好用了,而且搭建和维护成本也比较低。