趣文网 > 作文大全

版本管理工具介绍——SVN篇

2020-12-04 16:35:01
相关推荐

一、版本控制工具的作用

什么是版本控制工具?版本控制工具是团队用来开发软件工程的,个人单独开发只能称得上是写代码。使用版本控制工具可以使软件工程得到保护和起到约束作用。

二、SVN服务器端的安装和配置

2.1、SVN服务器端的安装

(1)双击exe安装文件,直接点“next”

步骤1

(2)不要选择中间那一项,如果选中则没有可视化的界面了,对号勾也不要去掉,如果去掉,命令行里的一些命令就不能使用了(就需要以后在环境变量里添加PATH),点击“next”

步骤2

(3)选择标准版,不要选择企业版(企业版需要money)

步骤3

(4)第一个是SVN安装路径,第二个是仓库路径(代码一旦放置在服务端,就相当于放置在这个仓库里了,以后对代码的增删改的操作都会在这个仓库里,这个仓库一旦没有了代码就真的不存在了,所以仓库这个文件一定要妥善保管并勤加备份)。端口号服务端规定何种端口号,客户端就通过这个端口号联系,后边如果不勾就是用http协议。

步骤4

(5)最后点击“install”

步骤5

2.2、SVN服务器端的配置

(1)首先需要配置一个仓库,这里的仓库可以有多个,每个工程可以放置在不同的仓库里(点击Repositories——>Create New Repository——>起个名称(这里选中Empty repository,也就是只有一个仓库,里面没有内容,如果选择下面的会带有三个文件夹)。

步骤1

(2)选择权限选择默认即可(所有的开发人员,一旦联系上以后,拥有对所有文件的读和写的权限)

步骤2

(3)这个地址也就是客户端和服务端联系时填写的地址(联系以后才可以读文件和写文件)

步骤3

(4)接下来还需要新增两个用户,选中Users——>Create User——>填写用户名和密码

步骤4

三、SVN客户端的安装和配置

1、双击客户端的exe安装,文件直接点击下一步就可以了,只有在选择目录的时候,我们改改目录就ok了!安装完之后,在电脑桌面(或目录等)地方,按下右键出现SVN Chekout就说明安装成功了。

2、第一次安装项目的时候,我们会用到SVN Checkout。我们直接拷贝我们仓库的路径就可以了。例如:我们之前安装svn服务端时的test路径。

3、如果我们的服务端和客户端不在同一台服务器上边,那么之前的127.0.0.1 就要变成我们远程的服务器上边的服务器地址和端口号。

4、当我们从服务器上边下载的时候,我们的项目里边会出现一个.svn文件。我们不要删除,我们后续与远程项目相关的增删改查都会在这里进行记录。

四、SVN的基本操作

【1】新增一个文件(客户端新增一个文件,并把它提交到SVN的服务端)比如在Test文件夹下新建一个Java文件,但是该图标多了一个蓝色的问号,这个蓝色的问号就代表该文件是新增的并且等待被提交的。

【2】提交文件,在.svn所在文件夹下,右击鼠标SVNCommit...,在下面的文件列表里会出现想要提交的文件,Status代表状态不受版本控制,上传之后图标就会变成对号,说明文件已经与服务器上的文件保持同步。

【3】删除文件:直接在磁盘上操作即可(磁盘下的任何操作都属于磁盘操作,所有的SVN操作都需要SVNCommit...下完成)删除SVN里的也需要commit。

【4】也就是客户端执行的任何操作,最终都需要SVNCommit...来完成服务端的操作,同样修改也是一样的,如果是修改的文件Status为modified,如果已经删除了的文件Status为missing。

五、SVN常见问题

5.1、案例1

分支不同 ==> update merge(svn自动合并)分支冲突 ==> 协商解决冲突,选择一个正确的版本覆盖(最新的正确直接Revert最新): 出现四个文件。黄色感叹号代表SVN没办法自动合并,因为A B修改的内容一致。 第一个文件:共同修改内容对比显示。第二个文件:A你的代码 第三个文件:A B修改之前的版本代码 第四个文件:B的代码 解决办法:1.A和B讨论,选择哪个版本。就把那个版本恢复。 恢复方法:比如A的正确,就把第二个文件重命名为A的那个文件名,覆盖。 若想恢复成A B之前的版本,用第三个文件覆盖 若想恢复成B的,也是用第四个文件覆盖,或者在第一个文件右击,revert到现在服务器上的B的版本。5.2、案例2

1、每天早上上班要update SVN,每天下班要commit SVN。

2、查看是谁动了我的代码,右键 tortoise 后查看 log 日志。

3、文件被别人删除,在空白处右击,show log,可以查看整个库的所有增删改查操作记录,如果单个文件还在,只想查看该文件记录,那就在该文件上查看 log(自从新建一个文件后,对该文件的所有操作都会被服务器仓库记录下来,随时可以可别人商量恢复)。

4、权限清空:TortoiseSVN——Settings——Seved Date——Clear clear all。

5、commit 上面有一块区域是做注释的(推荐常用)。

6、良好冲突: 如果A和B都在修改了代码,B先于A上交,当A去commit的时候,就会提交失败,必须先更新你的本地文件,那么B的代码会和A的代码同时存在(两个人修改的不是一个地方算好的情况了)。

7、较差冲突: 有冲突时提交会产生三个文件,.mine是自己改好之后的代码,rx,ry,x,y两个数字较小者是我改之前的代码,数字较大者,是服务端的代码

1)如果要保留自己的版本,就用mine覆盖原来的代码,再次提交

2)如果认为对方是正确的,就revert一下,这个时候已经拿到了最新的代码(不一定非要这样操作,但是这样方便)

3)如果认为上一个版本是正确的,用版本较小的覆盖(直接删除改后缀名)

经验1:如果Commit Failed!就不要点了ok继续按update了,先把自己的代码复制到一边,再把那个文件revert,再update,再把放在一边的文件重命名复制到相同文件夹下,选中两个冲突的文件,TortoiesSVN->diff,左边是最新的代码,右边的是我的,解决冲突之后两个人最好都update一下。

经验2:与历史记录比对:show log之后,同时选中两个版本(比如现在到了第10版,那么要10/9先比较,看看有没有差异,没有差异,则比较9/8版,如果仍没有差异,以此类推继续比较),Compare revisions。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

八年级上册作文 童年作文600字 怎么写好作文 八下英语作文 作文素材高中版 高中生作文800字 写事的作文怎么写 关于中考的作文 三年级英语作文 乡愁作文 多肉作文 孝顺作文 作文寒假生活 白衣天使作文 作文成长 雅思大作文 出游作文 羽毛球作文 野餐作文 苏轼作文 行走 作文 乐乐作文 写美景的作文 意外作文 奋斗作文素材 一千字作文 那一次 作文 作文有你真好 做自己 作文 表白作文