论坛首页 入门技术论坛

SVN入门

浏览 4325 次
锁定老帖子 主题:SVN入门
该帖已经被评为新手帖
作者 正文
   发表时间:2007-12-30  
一、安装svn:
1、从svn官方网站下载subversion安装包,zip或exe
2、如是exe格式则直接点击默认即可。
   如是zip格式的话,则在指定目录下解压缩安装包,将解压得到的bin目录的绝对路径添加到环境变量path中,并添加环境变量APR_ICONV_PATH,其指向解压得到的iconv目录。

二、安装tortoiseSVN
在sourceforge.net上搜索tortoiseSVN,下载exe安装包,默认安装即可。

三、建立版本库
svnadmin create c:\test\repo1

四、修改密码:
在conf文件夹,
修改svnserve.conf
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd

然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret

五、启动svn服务器

在cmd中切换到版本库目录
svnserve -d -r 版本库名
关闭窗口则停止svn服务器。
如:d:
cd d:\program files
svnserve -d -r code

六、导入项目
在需要导入的文件目录下右键点击 import,选择版本库的url,将该文件夹所有内容加入版本库中。

七、导出项目
在需要导出项目的地方,右键check out,选择需要导出版本库的url,ok即可

八、客户端操作
1、update
2、commit
3、conflict
  :例如,如果sally修改了一个文件sandwich.txt, 而harry也刚刚修改了这个文件的相同位置并提交到服务器。那么sally在做这个文件的update操作的时候会得到三个额外的文件 sandwich.txt.mine、sandwich.txt.r1、sandwich.txt.r2。并且在提交的时候会遭到服务器的拒绝,因为这个文件的冲突问题还没有得到解决。要解决这个冲突,可以选择:
         a. 手工合并冲突文件(检查和修改文件中的冲突标志)。
         b.用一个临时文件(三个中的一个)覆盖你的工作文件。
         c.运行svn revert <filename>来放弃所有的修改。

一旦解决了你的冲突,需要通过命令svn resolved让subversion知道并删除三个临时文件。这时才可以提交。

下面再说说手工合并冲突。开始的时候让人觉得害怕,但做一段时间之后,就觉得不那么烦人了。

看看如下文本:
Mayonnaise
Lettuce
Tomato
Provolone
<<<<<<< .mine
Salami
Mortadella
Prosciutto
=======
Sauerkraut
Grilled Chicken
>>>>>>> .r2
Creole Mustard


一连串的大于、小于、等于号是冲突标记,这些数据得全部删除才可以提交。其中,
   <<<<<<< .mine
Salami
Mortadella
Prosciutto
=======
是你在冲突区里面做的修改。

Sauerkraut
Grilled Chicken
>>>>>>> .r2
是别人在冲突区做的修改。

在冲突区中,或许你需要和你的同事沟通来安排冲突区的文本内容,如果是程序代码,你需要和同事商量一下,中间的这段代码到底应该是什么样子的。

所有冲突区得到合理的解决之后,你就可以提交你的文件了。

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics