浅谈SVN版本控制器的基本使用

一、SVN简介:
 为什么要使用SVN?

      程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本,适合团队开发中使用,提高代码的整合效率和开发效率。

Subversion是什么?

   SVN的全称,它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作。

二、SVN服务器搭建和客户端的安装
  个人推荐使用VisualSVN server 服务端和 TortoiseSVN客户端配合使用

  安装过程自行学习脑补......

三、基本操作

1.svn服务器与客户端工作流程:


2.TortoiseSVN常见的图标

: 一个新检出的工作副本使用绿色的对勾做重载。表示Subversion状态正常。

 :  在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。

: 如果在更新的过程中出现了冲突,图标会变成黄色感叹号。

 : 如果你拥有了一个文件的锁,并且Subversion状态是正常,这个重载图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。

: 加号告诉你有一个文件或目录将被调度加入版本控制库中。

3.TortoiseSVN客户端基础操作

① SVN检出(SVN Checkout): 在文件夹或者目录下单击右键 –> 选择SVN检出,如下图所示

  

点击SVN Checkout后,在弹开窗口的版本库url框中输入版本库的目录地址,然后点击确定,如下图:


再点击ok按钮后,如下图:

在弹出的对话框中输入用户名和密码,验证成功后,项目文件开始从远程服务器下载到本地工作目录中。


点击ok按钮后,即可获取完成项目检出到本地。

② SVN还原(SVN Revert):右击想要回退的文件或者文件夹,在TortoiseSVN弹出菜单中选择”Update to reversion…” 然后会弹出一个窗口,如下:


比如说我们要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击ok即可。

③SVN更新(SVN Update):更新本地代码与SVN服务器上最新的版本一致,只要在需要更新的文件夹上点击右键或者在文件下空白处点击右键,选择”SVN Update”。

④SVN提交(SVN Commit):Svn的提交是将在工作空间做的修改进行提交,包括文件内容的修改,文件或目录的添加,删除,命名,移动等操作。如下图所示:


 ⑤ 显示日志(Show log):通过此功能可以查到谁,什么时候,对那个目录下的那些文件进行了那些操作,如下图:


四、SVN冲突解决方案

为什么会产生冲突代码呢?原因很简单就是因为不同的人,同时修改了同一个文件的同一个地方,这时候,他提交了,我没有提交,我就提交不了,这个时候我们要进行先更新,然后在进行提交即可,那如果产生冲突,会生成如上3个文件。 

对于每个冲突的文件Subversion在你的目录下放置了三个文件:如下:


1.txt.mine 是冲突前自己的修改后的文件。
2.1.txt.r4   是冲突前本地的版本文件

3.1.txt.r5  是别人赶在你之前提交的最新版本

方案一:提交代码前,将代码备份在本地,出现冲突后,将冲突文件删除,在更新最新版本,将备份文件代码合并到最新版本。

方案二:出现冲突,使用编辑冲突,将自己的修改的文件与最新版本的文件代码对比,手动合并后,标记为解决冲突,再提交。

注意事项:

1、eclipse 集成SVN 操作与客户端基本一致。

2、.svn这个隐藏目录记录着两项关键信息:工作文件的基准版本和一个本地副本最后更新的时间戳,千万不要手动修改或者删除这个.svn隐藏目录和里面的文件!!,否则将会导致你本地的工作拷贝(静态试图)被破坏,无法再进行操作。


猜你喜欢

转载自blog.csdn.net/qq_15901351/article/details/80547161
今日推荐