话说以前自己做的一些小项目,经常出现忘记保存、突然断电等令人抓狂的事情。后来想到的办法是备份,这备份又有一个进化的过程,最先是建一个文件夹,隔一段时间压缩一下放进去,但是这个命名实在是麻烦,后来傻乎乎的做了个工具,调用命令行压缩,命名时自动把当前时间放进去,后来发现WinRAR就有这个功能后才知道自己真的傻乎乎了。

废话说了这个多,其实今天我想说的是版本控制。话说之前经常接触到版本控制相关的咨询,说程序猿必须使用版本控制啊,用了版本控制即牛逼又装逼啊,说得我热血沸腾啊,赶紧各种尝试,尝试的结果就是除了去github、google code之类的地方clone人家牛逼的代码瞧瞧外没有更进一步的使用了。
说到底,以前不仅没这方面的意识更没这样的需求,以为版本控制必须要个神马服务器,必须要遵守神马协议,必须多人协同工作才有必要,个人还是勤备份算了。
这段时间,在这个小公司,我需要跟别人一起写代码了!五个人做同一个东西,我改改,他改改,我改改,你改改,再每个人又发给我汇总,毛啊,原来我改好的东西咋没了啊!虽然有点冒火,但得找解决办法啊,第一想到的就是之前尝试的牛逼版本控制。
正好装了个TortoiseSVN,先试试吧……
首先,这代码存哪里啊,存到开源社区,不太合适吧,公司内部项目,存到私人代码寄存服务?收费好像不划算,不收费不可靠啊,存网盘吧,以前似乎用过同步盘之类的东西备份东西,比如金山快盘就不错,就是速度有点慢,听说百度网盘也能同步了,那就用百度吧。
好,下面开始总结折腾出来的结果,前面的都是废话!!!!
这得从我知道了原来可以在本地建版本库开始……

一、建立本地版本库
1、装了TortoiseSVN后,一般集成到资源管理器里,新建一个文件夹,右键->TortoiseSVN->在此创建版本库就行了,比如我建在E:\MySVN
2、然后就可以去版本库浏览器添加一个工程文件夹进来了,确认后工程文件夹下的文件就添加到这个E:\MySVN里来了,具体文件结构先不管
3、这回可以把原来的工程文件夹里的东西删除了,空白处右键->检出,填上file://E:\MySVN\工程名,东西又回来了。当然应该也可以先去版本库浏览器里建文件夹然后再到其他地方检出,然后建工程
4、这回每次修改完后在工程文件夹下右键->提交就可以了,每次还能填写日志,很是方便啊,更重要的是每次只提交你改过的部分,比全部打包备份高级多了。直到这里我才开始激动不已。
 
既然可以在本地存,当然也可以有办法让局域网内的其他人访问,不过我还是想搭建一个专门的svn服务器,这样操作:
1、下载一个Setup-Subversion-1.8.8.msi,这是目前的版本,安装好后,呃,不能打开(貌似是跟Apache搞在一起的东西,我先不管Apache了)
2、打开cmd,输入svnserve -d -r E:\MySVN就可以了
3、然后TortoiseSVN里地址就能填svn://loacalhost/了,唆使别人用的时候改成自己的IP
但是这样有个麻烦,那个svnserve不是以服务运行的,运行后有个cmd的窗口,很碍眼。解决方案是这样的:
1、新建个svnServer.bat
svnserve -d -r "E:\MySVN"
2、同文件夹下新建个svnServer.vbs
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c startSVNServe.bat",vbhide
3、每次只要运行svnServer.vbs就行了,也可以添加到开机启动
(话说还能这样搞隐藏窗口,今天才知道,确实挺好玩的啊)
 
同步到网盘
这个就不需要多说了,操作都比较简单。如果文件夹不好整理到一起,在win7上可以用mklink,xp好像也有个junction,得下载,似乎还没win7方便。
 
现在,我终于可以很方便也很享受地修改代码了!!!
以后再研究下那个牛逼的git

开始使用版本控制,局域网搭个SVN的更多相关文章

  1. 版本控制工具比较-CVS,SVN,GIT

    首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通 ...

  2. 局域网简单的SVN服务器的搭建

            最近组织在做一个比较大的项目,需要多人参与配合,经常会对项目文件增删查改,因此使用了SVN作为项目管理工具.但大家都很"盲",所以搭建SVN服务器的任务就落在了我这 ...

  3. 实现外网訪问局域网内的SVN——花生壳+visiualSVN实现外网訪问局域网内的SVN(三)

    经过前两篇文章.到眼下为止,我们已经获取了外网域名而且搭建好了SVN server.接下来,我们就总结一下怎样实践实现一下訪问局域网. 1.安装VisiualSVN Server(可见:http:// ...

  4. 版本控制(1)——SVN

    一.工具下载 下载SVN: http://subversion.apache.org/ 我们选择Windows系统中的可视化的VisualSVN 如下图,左边是客户端,右边是服务器端,我们下载服务器端 ...

  5. 版本控制之二:SVN的初步使用(转)

    转自http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407979.html 上一篇介绍了VisualSVN Server和Tortoise ...

  6. SVN版本控制安装配置说明

    版本控制好工具有SVN.CVS.VSS等多种,他们的优劣在此不说明,请网络参阅. SVN支持多种平台,此文仅描述Windows平台下使用说明. SVN客户包含客户端和服务端.Windows平台下客户端 ...

  7. 版本控制— SVN & git

    版本控制—— SVN & GIT 提问 什么是版本控制? 是能够一直监视代码文件的变更,并存储这些文件以便将来引用的一种机制(软件) 为什么要使用版本控制? (1)记录哪个开发人员做了变更 ( ...

  8. vs2013搭建团队版本控制 TFS、SVN

    项目使用vs2013开发,之前使用过svn进行版本控制,由于长时间未使用,记录备用. 一.TFS Team Foundation Server(TFS) 是微软提供的一个团队协同办公的管理工具,项目总 ...

  9. 取消svn版本控制

    删除项目中的版本控制,即删除项目文件夹下的所有.svn文件夹(在做项目的时候,有时候想把项目拷回去看看,但是文件太大了,而且压缩起来很慢.这主要是因为在项目中有大量的.svn文件夹.所以才想把.svn ...

随机推荐

  1. Android 超仿Path时间轴和扇形菜单的效果

    网上看到的  ,仅此记录一下,用到的时候便于查找 效果如下: 源码下载地址 :  http://download.csdn.net/detail/abc13939746593/7251933

  2. Android-onTouchEvent方法的使用

    手机屏幕事件的处理方法onTouchEvent.该方法在View类中的定义,并且所有的View子类全部重写了该方法,应用程序可以通过该方法处理手机屏幕的触摸事件.该方法的签名如下所示. public ...

  3. POJ 1423 Big Number

    题意:求n阶乘的位数. 解法:斯特林公式,,然后取log10就是位数了,因为精度问题需要化简这个式子,特判1. 代码: #include<stdio.h> #include<iost ...

  4. POJ 1083 Moving Tables

    题意:一个建筑物里有400个房间,房间都在一层里,在一个走廊的两侧,如图,现在要搬n张桌子,告诉你每张桌子是从哪个屋搬到哪个屋,搬桌子的线路之间不可以有重叠,问最少搬几次. 解法:贪心.一开始觉得只要 ...

  5. golang学习遭遇duang...duang...duang

    初学golang时,在windows上使用liteIDE进行,很多语法都能自己调整. 后来使用linux桌面,再次编写时,发现很多东西都忘掉了.这难道就是习惯gocode后的弊端吗?还是人到 前中年 ...

  6. bzoj3884: 上帝与集合的正确用法 欧拉降幂公式

    欧拉降幂公式:http://blog.csdn.net/acdreamers/article/details/8236942 糖教题解处:http://blog.csdn.net/skywalkert ...

  7. STM32 TIM重映射

    复用功能 没有重映射 部分重映射 完全重映射 TIM3_CH1 PA6 PB4 PC6 CH2 PA7 PB5 PC7 CH3 PB0 PB0 PC8 CH4 PB1 PB1 PC9 /**重映射 t ...

  8. PowerDesigner Vs Enterprise Architect

    注: 以下文中PD表示PowerDesigner,EA表示Enterprise Architect 最近一直在做设计方面的事情,之前一直在用PD.有个阿里过来的同事说阿里都是用EA,我就抽空小研究了一 ...

  9. 找出图像I的代数中心

    function centerGPos = cenP(I ) %cenP finds the core of the PSF % [row, col] = find(I > ); minRow ...

  10. C++实现网格水印之调试笔记(四)—— 完成嵌入

    接下来的问题是,当模型是对称的时候,结果是符合预期的,但是当模型是不对称的时候,结果是错误的,如下: 输入: 顶点:233 输出: 这又是什么鬼...,我的马呢!!! 看来逻辑上还是有错误 注意这时候 ...