SVN

点击 打开原文链接

SVN全名Subversion,即版本控制系统。它将数据放置在一个中央仓库(repository)中。这个仓库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把数据恢复到旧的版本,或是浏览文件的变动历史Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。

svn=代码版本控制系统+备份服务器

1svn的三大指令

checkout(检出):用于与svn服务器建立连接,输入用户名和密码,获取代码到本地目录(第一次连接使用)

commit:提交本地代码到svn服务器

update:把svn服务器上面的代码更新下来

update注意:

当本地文件没有变动,服务器文件改动的时候,更新会从服务器取文件覆盖当前文件。

当本地文件有改动,服务器文件没有改动的话,svn端的不会覆盖本地的。

当本地文件有改动,服务器文件有改动的话,如果改动的部分不冲突,就会合并文件到本地,如果有冲突的话,需要自己手动解决冲突,然后再提交。

2常见图标说明

常规图标:

 

出现此图标,说明此文件中的内容与svn服务器文件中的内容一样。

 

修改图标:

  

当我们对本地的某个文件进行修改,导致svn服务器上面的对应的文件的内容不一致就会出现此图标。

 

无版本控制图标

 

说明此文件没有与svn服务器建立关联

 

忽略图标

 

当我们有些文件不想提交到svn服务器或者没有必要提交,我们可以把这些文件设置为忽略即可,那么提交的时候这些文件就不会出现在提交的文件变更列表中。

忽略一般有两种:

忽略一个具体的文件:1.jpg

忽略某一类的文件:*.jpg

 

冲突的图标

 

尤其是团队开发的时候,多个开发人员对同一个文件的相同行代码都进行了修改,那么后者提交的会覆盖前者提交的,但是svn不会覆盖,会提示我们解决冲突。

3SVN代码冲突的解决

说明:

尤其是团队开发的时候,多个开发人员对同一个文件的相同行代码都进行了修改,那么后者提交的会覆盖前者提交的,但是svn不会覆盖,会提示此文件冲突,需要我们手动去解决冲突。

    

这里以两个用户分别是dashencainiao用户为例.

 

 

 

dashen用户先对1.php文件进行修改然后提交:

 

dashen用户修改第5行和第6代码之后,进行提交,也就是现在svn服务器中的1.php的文件内容应该dashen提交的。

 

cainiao用户提交之前,对1.php文件的第5和第6行代码也进行了修改,修改如下:

 

 

提交会发现有冲突:

 

 

 

解决办法:点击上面的升级。或者是更新都可以,出现如下文件:

 

 文件说明:

文件名.mine :当前用户准备要提交的文件

文件名.r88代表版本号):两者未提交之前,服务器上面最新的文件

文件名.r99代表版本号):代表前一个用户提交的服务器上面最新的文件

黄色感叹号的文件:把两者有冲突的代码部分整合在一起。

 

解决办法:把除开黄色感叹号的以外的三个文件给删除掉,在整合黄色的文件,再次进行提交即可。


整合冲突代码的时候,程序员(工程师)之前应该彼此商量一下,使用谁的代码。不要轻易覆盖人家的代码。


4SVN版本回退

使用到版本回退的场景:

①不小心删除了一个文件,并且提交了,这时候可以通过提交的日志来找回。

②找回之前所写过代码,这时候也可以通过提交的日志来找回。

具体步骤:

右键更新至版本:

 

 

点击日志来找回:

 

 

第二步:找到之前提交代码的日志信息,进行找回

 








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值