话说以前自己做的一些小项目,经常出现忘记保存、突然断电等令人抓狂的事情。后来想到的办法是备份,这备份又有一个进化的过程,最先是建一个文件夹,隔一段时间压缩一下放进去,但是这个命名实在是麻烦,后来傻乎乎的做了个工具,调用命令行压缩,命名时自动把当前时间放进去,后来发现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. [SharePoint 2010]关于基于声明(Claims)的用户认证模式

    转:http://blog.csdn.net/zw_2011/article/details/7417132 SharePoint 2010在用户认证模式上,较之以前的版本有了非常大的改变.在Shar ...

  2. HDU 4630-No Pain No Game(线段树+离线处理)

    题意: 给你n个数的序列a,q个询问,每个询问给l,r,求在下标i在[l,r]的区间任意两个数的最大公约数中的最大值 分析: 有了hdu3333经验,我们从左向右扫序列,如果当前数的约数在前面出现过, ...

  3. 【剑指offer 面试题12】打印1到最大的n位数

    思路: 用n位字符数组表示n位数,通过递归的方式逐层(位)遍历,递归终止时打印. #include "stdio.h" #include "string.h" ...

  4. 感知器Perceptron

    Perceptron: 1.一种基于监督的线性分类器,其特点是:1)模型简单,具有很少的学习参数:2)具有可视性,一条直线即可划分:3)基于人工神经网络的原理. 其结构图为:  2.学习的关键技术: ...

  5. 最小化安装CentOS7 + xfce4 +PHP + nginx +mariadb 开发环境

    虚拟机自定义最小化安装,新增用户做为管理员,打开自动获取网络,桥接模式.所有的操作只有命令,不做解释,看不明白的可以自行搜索相关的资料. # 开头的行是注释行,# 开头的空行,我自己装机时做了快照.未 ...

  6. git 记录

    在官网有详细的教程http://git-scm.com/book/zh/%E8%B5%B7%E6%AD%A5 查看分支和日志的两个工具:gitk 和 tig ,两个都有 --all 参数,可以查看所有 ...

  7. Red Hat Enterprise Linux 6.4常用命令

    常用命令: profile文件立即生效:source /etc/profile source /home/kituser/.bash_profile 修改文件夹子文件权限:chmod -R 777 / ...

  8. Hadoop 2.2 YARN分布式集群搭建配置流程

    搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoop2.2 ...

  9. linux appear packet loss solution

    故障排查: 早上突然收到nagios服务器check_icmp的报警,报警显示一台网站服务器的内网网络有问题.因为那台服务器挂载了内网的NFS,因此内网的网络就采用nagios的check_icmp来 ...

  10. 删除ArrayList中的元素

    菜鸡重大发现:删除arraylist时,每删除一个元素后面的元素会自动填充 public static void main(String[] args) { List<String> li ...