话说以前自己做的一些小项目,经常出现忘记保存、突然断电等令人抓狂的事情。后来想到的办法是备份,这备份又有一个进化的过程,最先是建一个文件夹,隔一段时间压缩一下放进去,但是这个命名实在是麻烦,后来傻乎乎的做了个工具,调用命令行压缩,命名时自动把当前时间放进去,后来发现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. JazzyViewPager开源项目的简析及使用

    JazzyViewPager是一个重写的ViewPager,能是ViewPager滑动起来更加的炫酷. 开源地址:https://github.com/jfeinstein10/JazzyViewPa ...

  2. 锋利的jQuery读书笔记---选择器

    前段时间入手了锋利的jQuery(第二版),想着加强下自己的js能力,可前段时间一只在熟悉Spring和Hibernate.最近抽时间开始读这本书了,随便也做了些记录. 读书的过程是边看边代码测试,所 ...

  3. Oracle 数据乱码

    原文 Oracle 数据乱码 服务器配置环境变量 NLS_LANG:American_america.ZHS16GBK        

  4. [转] c#中 多线程访问winform控件

    原文 c#中多线程访问winform控件的若干问题小结 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的 ...

  5. 翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(5)

    数据操作与REST API(Data manipulation with REST API) ElasticSearch REST API可用于各种任务.多亏了它,我们可以管理索引,更改实例参数,检查 ...

  6. 《Python CookBook2》 第一章 文本 - 替换字符串中的子串

    替换字符串中的子串 任务: 给定一个字符串,通过查询一个字符串替换字典,将字符串中被标记的子字符串替换掉. 解决方案: >>> import string >>> ...

  7. Apriori学习笔记

    Apriori算法是一种挖掘关联规则的频繁项集算法,是由Rakesh Agrawal和Ramakrishnan Srikant两位在1994年提出的布尔关联规则的频繁项集挖掘算法.算法的名字" ...

  8. Backbone.js developer 武汉 年薪8w-10w

    1.   精通Backbone.js 2.   熟练Ajax.NoSQL.RESTful APIs 3.   了解Pusher.com和 Parse.com 4.   具有良好的沟通能力,学习能力,敬 ...

  9. HDU 5607 graph(DP+矩阵乘法)

    [题目链接] http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=663&pid=1002 [题意] 给定一个有向 ...

  10. sudo source /etc/profile 提示找不到source命令

    今天修改了/etc/profile,需要用source一下,于是写入命令 sudo source /etc/profile 提示找不到source命令 改成    sudo . /etc/profil ...