一、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隐藏目录和里面的文件!!,否则将会导致你本地的工作拷贝(静态试图)被破坏,无法再进行操作。
作者:Java少年
来源:CSDN
原文:https://blog.csdn.net/qq_15901351/article/details/80547161
版权声明:本文为博主原创文章,转载请附上博文链接!