SVN版本控制DOS下操作

原创 2013年11月20日 07:29:42

一,安装svn

1,下载Setup-Subversion-1.8.0-1.msi。

2,安装过程:傻瓜式安装,下一步即可,安装完成后,去系统环境变量中检查path变量是否配置了svn下的bin目录。

3,如果配置了bin目录,则打开dos命令行,任意目录下输入svn –version检查是否成功安装。

 

二,关于版本控制:

版本控制(Revision Control):是维护工程蓝图的标准做法,能跟踪工程蓝图从诞生一直到定案的工程蓝图。

在实际工程项目中,我们可以通过svn来提高整个项目工程的管理效率。在多人团队开发的项目中,需要将每个人做的工作汇总在一起,手动维护整个工程师非常复杂的,可以通过svn简化管理。首先,每个人都可以从svn服务器下载项目经理写好的原始工程,进行进一步开发。每天我们都会做出若干程序,每天工作结束之后,如果可以确定程序是正确的,那么就可以将做好的程序提交到svn服务器上,第二天再从服务器上下载下来进行开发。有的时候我们可能要多个人同时开发一个文档,如果手动维护这一个文档的整合,会很费劲,我们可以通过svn将我们做好的程序提交到svn上,之后同时开发这个文件的别的人就可以下载这个你写好的最新版本再进行开发,所以svn在团队项目中起到了很重要的作用。

 

三,第一个svn测试

1,我们提交到svn服务器的文件都是保存在仓库中的,所以必须先建立一个svn仓库才行。通过svnadmin create <仓库的路径> 即可建立一个仓库,

例如:svnadmin createE:\test\repository\svn\oa ,指定oa为仓库路径,可以在svn下建立多个仓库。生成的conf目录是仓库的配置文件。

2,启动svn服务

通过命令:svnserve –d –r <仓库路径> d是后台执行,r是版本库的根目录。

例如:svnserve –d –rE:\test\repository\svn\oa,

注意,这个dos命令行窗口开启以后就不可以关闭,关闭之后会将svn服务也关闭。

2.1,将svn服务配制成windows服务,

在命令行输入:“sc create svn binpath= " F:\java\svn\bin\svnserve.exe--service -r F:\java\repository\svn" displayname= "SVN-Service"start= auto depend= Tcpip”即可。

Create后的svn是命令名,通过在命令行输入svn即可执行svn服务的相关命令。

Binpath配置的是svn的bin中的svn启动服务的命令。

后面的一串路径配置的是仓库目录。

Displayname是在windows服务列表中显示的名字。

Start=auto设置为开机自动启动,可以在服务中将其改为手动服务。

Depend指明依赖的服务,tcpip。

配置完成后,我们就可以通过在命令行输入net start svn来启动svn服务,启动后该命令行窗口即可关闭,也可以在系统服务列表中将程序启动。,

3,在任意的位置建立一个文件夹,比如test,在test中建立一个user1文件夹,假如这个user1文件夹就是一个用户的工作目录,他需要在这个目录中提交每天完成的任务,下载更新每天需要做的任务。

Svn现在还不知道这个文件夹是用户的工作目录,要先通过checkout来将这个目录与svn服务关联起来,先在命令行进入user1目录,在命令行输入:

    svncheckout svn://localhost/oa . (.代表当前路径,将当前路径与oa这个仓库关联)

建立关联以后,可以在user1文件夹下发现一个隐藏的.svn文件夹,这是svn自动生成的,维护了与svn仓库的链接关系。

4,建立链接以后,在user1中建立一个文本文件,如a.txt,随便写点东西。在命令行进入user1目录,输入如下命令:

    svncommit a.txt      (如果不是当前路径,需要完成路径名)

第一次提交的时候会出现问题,首先会提示没有纳入版本库,是因为我们还没有将这个a.txt文件加入版本仓库,输入如下命令解决:

    svnadd a.txt

再次执行commit,依然会报错,提示提交的文件没有描述,这就需要为这个文件添加描述信息,通过下列指令完成:

    svncommit –m “user1 edit” a.txt

执行了这一句提交命令后,依然会报错,提示用户没有权限,需要给这个用户配置权限,去配置文件中将匿名权限修改为write权限。位置在当前仓库目录下的conf目录的svnserve.conf文件,将第19行改成anon-access = write,注意前面不能有空格。

注意:如果一个文件已经纳入到版本库,再次提交时就不需要再次纳入。直接commit即可。

5,通过上一步,就可以将我们的文件提交到svn服务器中了,当我们第二天上班时,需要下载这个文件的最新版本(因为别人可能也在开发这个文件,如果别人比你提交的晚,那么别人的版本就会比你的新,则需要在别人的版本的基础上再进行开发),当然别人也可以通过服务器来下载这个文件,下载文件通过一个命令即可:svn update <文件路径及名称>,本例中:

    svnupdate . (.即更新下载当前目录关联的仓库的所有文件)。

 

6,再在test目录下建立一个user2文件夹,同样通过checkout将user2与oa仓库关联,checkout以后就将oa仓库中的user1提交的a.txt文件下载下来了,接下来将a.txt文件进行修改,再在user2文件夹下建立一个b.txt文件,随便写点内容,按照上面的步骤commit到svn。

接下来进入user1目录,执行update下载更新,这时会将user2提交的b.txt文件下载到user1的工作目录,打开a.txt,会发现得到的是user2修改后的文件,而b.txt则是user2创建的文件。

 

通过上述过程,可以很清晰的了解到svn的工作过程,svn对于团队项目的协同工作很有帮助,现在很多企业都在用svn。

 

四,一个svn应用实例:


1,首先基本代码由项目经理或者架构师来编写,基本代码只是一个整体框架,比如有已经导入的所有需要的jar包,工具类等。然后交由具体开发人员编写代码。

2,然后由项目组开发人员开始开发1.0版本,开发完成后交给销售部门销售。

3,这时候可能销售的业绩很好,那么项目组很可能继续研发2.0版本。

4,在2.0版本的研发过程中,1.0的用户提出一个很严重的bug,不得不改,所以项目组会选取一部分人员去修复这个bug,剩下的人继续研发2.0版本,修复完的版本是1.1版本了,1.0版本保持不变。

5,但是从1.0版本演变过来的2.0版本,还是存在之前的bug的,所以2.0版本需要将修复bug的1.1版本合并。

6,这就可以使用svn工具进行合并,合并之后2.0中的bug即可修复,而各个版本保持自己的原样,并不会改变。


版权声明:本文为博主原创文章,未经博主允许不得转载。

Mac svn命令

mac svn 删除.svn隐藏文件的命令 打开终端,进到所在的目录,然后出入一下代码 find . -name ".svn" | xargs rm -Rf 1、...
  • wswqiang
  • wswqiang
  • 2012年09月07日 10:52
  • 29593

svn——'svn'不是内部或外部命令,也不是可运行的程序或批处理文件

在安装svn工具后,我们一般会用客服端进行操作,但是也不会避免使用svn命令对项目进行操作。那么就有可能回遇到这个问题。 'svn' 不是内部或外部命令,也不是可运行的程序或批处理文件。 下面是这个问...
  • u010648555
  • u010648555
  • 2016年01月27日 20:00
  • 7541

dos下svn命令详解

1、查看svn版本号: Normal 0 7.8 磅 0 2 false false ...
  • neubuffer
  • neubuffer
  • 2013年11月23日 14:26
  • 406

SVN命令行代码大全

ping -a ip 命令查看获得一个IP地址的主机名 SVN版本:1.5 及更新版本名词说明:WC:Working Copy 你的工作区Versioned:受控的;受版本控制的 SVN是什么? S...
  • tangsanmei33
  • tangsanmei33
  • 2016年01月05日 16:41
  • 215

取SVN过去的某个版本文件

右键文件》 这样本地文件就是过去的版本了。
  • ClamReason
  • ClamReason
  • 2015年10月29日 16:23
  • 2317

文件的copy(一次性完成数据的传递 )

学习文件位置定位函数接口,完成对文件内容的任意位置的访问 #include #include #include int main(int agrc,char **ar...
  • gz153016
  • gz153016
  • 2015年10月12日 22:48
  • 220

SVN版本控制服务搭建、配置和使用详细步骤!!!

SVN是版本管理工具,譬如团队进行项目开发,项目代码都储存在服务器上,成员可用SVN在本地获得并更新代码,在企业 开发团队项目时发挥一定的作用,现在的主流版本控制是Git,SVN,所以对版本控制的学习...
  • xxf159797
  • xxf159797
  • 2016年12月15日 20:38
  • 1272

忽略svn中加入版本控制的文件

点击要忽略的文件------------>replace with------>资源库中最新的内容,这是忽略svn中加入版本控制的文件 http://blog.csdn.net/hemingwang...
  • wym1581
  • wym1581
  • 2015年04月23日 18:25
  • 273

Dos命令初阶--文件拷贝

1、XCOPY命令 可以在cmd中录入:XCOPY /? 即可查看帮助 帮助: XCOPY Microsoft Windows [版本 6.2.9200] (c) 2012 ...
  • nodeman
  • nodeman
  • 2015年05月14日 11:40
  • 307

SVN服务器端和客户端的安装及简单操作

SVN的安装及简单操作
  • YOYO1516
  • YOYO1516
  • 2017年03月13日 21:22
  • 165
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SVN版本控制DOS下操作
举报原因:
原因补充:

(最多只允许输入30个字)