
先转到SVN的安装目录,比如,你安装在/home/svn下面。然后转到bin目录下,在这里可以看见改盯一个叫svnserve的文件,我们需要用这个来启动SVN服务。
1首先查看svn的进程:
查看进程命令:ps-ef(查看所有进程);要筛选的话用grep,筛选svn的进程命令:ps-ef|grepsvn。
2 杀死主进程:
杀死进程的命令用kill-9进程id。段悉
3:启动svn:
启动svn的命令用svnserve-d-r安装路径
-d表示svnserve.exe作为服务程序运行核燃和在后台;-r表示将svn的目录当作根目录。
svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建野蚂立一套服务器环境,本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。
工具/原料
Subversion服务器程序安装包
Subversion的Windows客户端TortoiseSVN安装包
方法/步骤
1软件下载
<1>、下载Subversion服务器程序
到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择Apache 2.0 或者 Apache 2.2,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1.7.12.msi 。
<2>、下载Subversion的Windows客户端TortoiseSVN。
TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi。
2svn服务器和客户端安装
<1>、安装Subversion,直接运行Setup-Subversion-1.5.3.msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。
<2>、安装TortoiseSVN,同样直接运行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
<3>、安装svn的客户端程序,需要的话还可以安装svn的语言包,注意语言包的版本也必须与客户端程序的版本一致
3建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可没敏以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:\svndemo\repository
就会在目录E:\svndemo\repository下创建一个版本库。
我们也可颂察埋以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
步骤阅读 .4SVN配置用户和权限
来到E:\svndemo\repository\conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd
然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。
步骤阅读 .5运行独立服务器
在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。
6初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import...
在URL of repository输入“svn://localhost/trunk”
在Import Message中输入你的日志信息
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步 *** 作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。
步骤阅读 .7基本客户端 *** 作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。
最后,所有的内容都已经录制为动画文件,大家可以参考。
关于本教程大家有什么意见,可以这里讨论 。
如果更新文件以后,有两个人或者多个人同时修改了某个文件的某个位置,是否冲突,(一般不会这样子,因为上传的版本是可以编译通过的,而且每个人负责自己的模块,不会多人独立修改同一个文件,别人也是先更新,后上传修改,,,,)
开发者习惯性动作。早上上班第一件事就是更新svn版本库,再开始一天的工作。
晚上下班,或者其他时候要上传东西可以直接上传因为你负责的东西没人去修改。
冲突是怎么产生的呢:因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更新就会出现代码冲突问题。最好不要多人同时修改一个文件,公用的文件,更改之前要和大家沟通一下,或者解决冲突 呵呵
先更新,没有冲突,再提交。有冲突,解决冲突再提交。否则也提交不了。
对于一些处于冲突状态下的文件 ,右键TortoiseSVN ->Resolved,解决冲突。解决冲突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html
更新-解决冲突-删掉以下三个文件-提交(如果自己没有修改的文件有冲突,删除再更新即可,自己修改的文件解决冲突)
test.php.mine 是冲突前自己的文件
test.php.版本号 是冲突前本地的版本文件
test.php.服务器的版本号 是冲突后服务器版本文件
END注意事项
如果修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。
更新文件,如果出现冲突的情况,打开冲突文件test.php会看到类似以下的内容
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>
结合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>>>这类冲突符号去掉。去掉后,还是不能提交的,为什么?因为冲突时会产生三个文件,有这三个文件存在肯定提交不了。
客户端用的tortoisesvn(这个估计程序员用的最多),冲突时会多产生,三个文件
test.php.mine 是冲突前自己的文件
test.php.版本号 是冲突前本地的版本文件
test.php.服务器的版本号 是冲突后服务器版本文件
提交的时候,把这三个文件删除掉就可以提交了。
产生覆盖的原因。
a),在修改冲突文件test.php时,把别人代码都删除掉了,只留下了自己的代码。这样就会产生覆盖了。
b),把test.php.mine中的内容直接copy到test.php文件,这样也会产生代码覆盖。
上面二种情况都是我亲眼看到新手这样 *** 作的,要避免这二种 *** 作方法。
方法/团孙步骤 一、准备工作 1、SVN服务器:解压缩包,可以从官方网站下载最新版本。 2、SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来判陪与服务器端通讯。 二、安装服务器和客户端程序 1、SVN服务器:直接解压缩到某个文件夹下即可。示例路径:c:\svn\ 备注:如果下载的是msi程序,直接运行按提示安装即可。 2、SVN客户端:直接运行按提示安装即可。示例路径:C:\Program Files\Subversion 三、建立版本库(Repository):示例路径:e:\svnroot。建立版本库有两种方法: 方法一,建立空目录e:\svnroot\repos1,进入repos1文件夹,在空白处点击右键,选择“TortoiseSVN->Create Repositoryhere...”, 方法二,建立空目录e:\svnroot\repos2,进入DOS命令行,输入如下命令: svnadmincreate e:\svnroot\repos2 四、运行SVN服务器,启动服务。启动服务有两种方法: 方法一,临时启动服务,在DOS下输入如下命令: svnserve -d -r e:\svnroot\repos1 --listen-host ip地址 --listen-port=端口号 说明:“listen-host”和“listen-port”可选。默认端口是3690,如果端口已经被占用,可以通过选项listen-port指定端口号。 注意:请不要关闭命令行窗口,关闭窗口会把 svn服务就停止了。 方法二,启动SVN服务为后台运行程序: sc create svnserve binPath= "c:\svn\bin\svnserve.exe --service -r e:\svnroot\repos1" displayname= "Subversion" depend=Tcpip start= auto 说明一: (1)sc是windows自带的服务配置程序。svnserve是服务的名称,可根据需求取名。 (2)参数binPath表示svnserve可执行文件的安装路径。 (3)--service表示以windows服务的形式运行,--r指明svnrepository的位置,service参数与r参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中。 (4)displayname表示在windows服务列表中显示的名字,depend=Tcpip表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。 说明二: (1)binPath的等号前面无空格,等号后面有空格。displayname、depend、start也一样,service前面是--,不是- ,而r前面是-。 (2)若要卸载svn服务,则执行 sc delete svnserve 即可。 (3)从“sc”到“auto”是在同一个命令sc,必掘或蠢须写在同一行。 (4)启动服务命令:netstart svnserve,停止服务命令:net start svnserve,也可以进入Windows提供的界面 *** 作SVNService服务了,即控制面板—>服务。 (5)如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserve.exe在“c:\programfiles\svn\”中,则命令应该写为“binpath="\"c:\programfiles\svn\bin\svnserve.exe\" 五、配置用户和权限 (1)修改svnserve.conf,在e:\svn\repos1\conf目录下,用文本编辑器打开svnserve.conf: 将: # anon-access = read # auth-access = write # password-db = passwd 改为 anon-access = read auth-access = write password-db = passwd 注意说明: anon-access等列前面是没有空格的。 anon-access = read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问 auth-access = write表示通过用户名密码登录的有写的权限(当然读的权限也就有了) password-db = passwd表示可以通过 用户名 = 密码 的方式在passwd文件中添加用户 (2)修改同目录的passwd文件,增加用户帐号: 将: [users] # harry = harryssecret # sally = sallyssecret 添加帐号: [users] # harry = harryssecret # sally = sallyssecret admin = admin 添加一个admin账户,密码是admin。 六、初始化SVN,导入数据 选中要上传SVN的文件夹,“右键 ->TortoiseSVN ->Import...” ,在d出对话框的“URL of repository”输入“svn://localhost/project1/”。在“Importmessage”输入注释,点击OK,要求输入帐号,输入账户admin和密码admin。 七,测试SVN 本地测试:新建一空文件夹test1,单击右键,选择“SVN Checkout”,在“URL of repository”中输入“svn://localhost/project1”。 其他机器测试:如果运行svnserve的主机IP地址是1.2.3.4,则URL输入的内容就是“svn://1.2.3.4/project1”。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)