SVN的使用

开头:

对于svn的详解,我不是很熟,只是用过svn的客户端,没使用过服务端,在这里我只是简单说一下在svn的客户端怎么拉取代码,提交代码和修改冲突等等。
svn的客户端我在Mac中用的smartSVN,在window系统中用的是TortoiseSVN。两者的使用方式差别不大。
这两个软件的下载地址,我放到网盘里,有需要自行下载。
链接:https://pan.baidu.com/s/1dZcKGY 密码:kuoe
以我前段时间开发的感觉:一般安装之后,作为开发人员,会分配一个账号密码,还有服务器所在的地址,就是项目仓库的地址。

上一篇讲了版本控制工具的好处以及分类,传送门  这篇讲的是是svn的使用

在smartSVN中:

拉取:

1.先新建一个文件夹,打开服务 点击 open in smartSVN,一开始会出现这个页面,如果没有,可以点击菜单栏的 project -> check out,就出现一个弹窗。

  ==》 

2.接下来就是要输出项目的仓库地址。点击继续(continue),再点继续。依次出来的是要存放项目的地址,以及获取的文件。 再一步默认,不用操作,直接点击完成(finish)。最后它会出现这种情况,说明检出成功,就是拉取代码成功。就可以开发了。

 更新:

在代码开发中,要养成一个习惯,就是先更新再开发或者提交。
  1.新增文件和修改文件,都能在smartSVN上发现。只要有指向箭头,就说明文件有变化。smartSVN都能看到整个变化。

2.左上角有update和commit,一开始都是灰的,一般先开发前就要update,点一下根级目录,左上角就变亮了。就可以update了。
  3.点击中间的一个文件正上角有add(新增) remove(删除) move(移动) revert(回退) delete(删除) fix
     * add 代表是文件新增,可以提交上去。
     * remove和delete的区别应该在于新增的文件和已存在的文件的删除不同。
     * move 代表移动文件,平常来说,这基本上不用,因为开发中就已经弄好路径了。
     * revert 版本回退,就是代码写的不对,可以退到上一个版本的状态。

提交:

提交前也要update。确定提交了,直接点击左上角的commit就可以。一般开发时提交需要备注,写明开发了哪些。
 最简单的方式

就是这个弄法了,点击文件的服务,就可以update和commit,但是不能准确知道哪些需要提交和修改的文件,建议还是用smartSVN来update和commit为好。

 冲突问题:

所谓冲突问题,就是开发人员1也修改了这文件并提交了,开发人员2也修改了这文件并提交,但提交时发生问题,这问题就是冲突问题。(这就说明先更新再开发的重要性)
解决办法就是,找到当前的文件,先更新一下再提交,如果成了提交,没啥问题,如果还是失败,那说明都改了同一内容,需要打开相应的文件,会发现多了几个文件和压缩包。并且改的文件也有以下符号。
<<<<<<.mine ==== 当前用户修改的内容;
  ====到>>>>>.r10 版本库中的内容:
根据情况进行对比删除。并把以上的符号删了,再提交。

在TortoiseSVN中:

拉取:

在某个文件夹点击右键 选中check out 会出现此弹窗,把项目仓库地址填进去,点击ok,会出现账号和密码,就是分配的账号密码,输入后,ok就check out界面。出现complete时代表拉取成功。 打开拉取的文件夹会发现都是带有绿色对勾的,说明文件是最新版本的。

    

 更新:
 还是原来的那句话,先更新再开发。
 提交:
 点击某个文件就可以提交。
 一般开发的时候可以简单通过文件的左角标来判断对文件的操作。
   * 带问号的角标: 说明版本库里不存在此文件,属于新增的文件。
   * 带对勾的角标: 说明是最新的文件,和版本库一致。
   * 带感叹号的角标: 说明此文件已经修改。

我在项目开发时,一般都是这几个流程。

冲突问题:
目前不能用svn进行版本控制了,再加上不会svn的服务端的配置。所以没办法制造冲突问题,(上一个的smartSVN的版本控制是我在回忆中想到的,不知道对不对,感觉都是svn,差别不大)有一个博主的博文写的不错,如果有冲突问题没法解决的可以去看看。
https://www.cnblogs.com/xing901022/p/4402686.html

结尾:

这几天闲了学习了git,打算整一个笔记给自己复习用,又想到前段时间用的是svn进行版本控制,于是先整理了svn,但是美中不足的是,项目已开发完,没法进行操作,所以在截图和解释上略有空洞,
svn是不难,蛮好用的,用的多了,就能一眼看出来问题,所以还是希望多练习练习。下一部分复习git的使用

版本控制工具--svn和git的使用(二) -----SVN的操作的更多相关文章

  1. 史上最全: svn与git的对照(二):svn与git的相关概念

    如图1是svnserver端数据的文件夹结构 以下是gitserver端的文件夹结构 纵观svn和git服务端的文件夹结构我们非常easy发现 1.有些目录还是蛮像的.甚至是一样的比方说svn中的co ...

  2. 使用Git版本控制工具管理GitHub

      使用Git版本控制工具管理GitHu Git是一个分步式的管理系统:只要上传操作得当,所有的都可以相当于是中央服务器,成员代码共享,A写的代码B也有,一般把一个人当做主机,其他人通过该主机拼装代码 ...

  3. 再次学习Git版本控制工具

    Git 究竟是怎样的一个系统呢?为什么在SVN作为版本控制工具已经非常流行的时候,还有Git这样一个版本控制工具呢?Git和SVN的区别在哪儿呢?Git优势又在哪呢?下面PHP程序员雷雪松带你一起详细 ...

  4. SVN版本控制工具使用学习

    SVN版本控制工具使用学习 Subversion是优秀的版本控制工具. 1.下载和搭建SVN服务器 http://subversion.apache.org/packages.html 类型有5种,推 ...

  5. SVN与Git比较的优缺点差异

    目录: SVN与Git比较(一)集中式vs分布式 SVN与Git比较(二)版本库与工作区 SVN与Git比较(三)全局版本号和全球版本号 SVN与Git比较(四)部分检出 SVN与Git比较(五)更新 ...

  6. 版本工具管理之----git

    如何查看隐藏文件夹: 如果你看不到.git目录,你需要让隐藏的文件可见.具体做法就是打开一个Terminal窗口,输入以下命令: defaults write com.apple.finder App ...

  7. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

  8. 从SVN到Git最强指南

    对于软件开发人员来说,版本控制系统他们再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.它的主要目的是实现开发团队并行开发.提高开发效率,对软件开发进程中 ...

  9. [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)

    [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...

随机推荐

  1. ES6,Array.includes()函数的用法

    在ES5,Array已经提供了indexOf用来查找某个元素的位置,如果不存在就返回-1,但是这个函数在判断数组是否包含某个元素时有两个小不足,第一个是它会返回-1和元素的位置来表示是否包含,在定位方 ...

  2. ConcurrenHashMap源码分析(二)

    本篇博客的目录: 一:put方法源码 二:get方法源码 三:rehash的过程 四:总结 一:put方法的源码 首先,我们来看一下segment内部类中put方法的源码,这个方法它是segment片 ...

  3. [记]WIndow/Linux 获取本机(全部)IPv4、IPv6、MAC地址方法 (C/C++)

    Linux 获取本机IP.MAC地址用法大全 //#include <sys/types.h> #include <ifaddrs.h> #include <sys/io ...

  4. jquery toggle 方法被废除的替代方法

    今天使用 toggle 方法的时候,该方法一直不能生效. 原来jquery 的引入文件是1.9,该方法在1.8以上已被废除. 那么简单的切换状态,我们可使用if 语句进行代替 如下: 记录一开始设置隐 ...

  5. 网页版仿Excel效果组件--handsontable拓展运用

    引言(祝看官们新年万事大吉) 前段时间项目需要实现网页版的excel表格功能,瞬间就想到了handsontable,为什么呢?理由如下:该UI组件功能齐全多样,展示效果也更贴近bootstrap风格, ...

  6. [原创]Oracle 12c的备份和恢复策略

    Oracle 12c的备份和恢复策略(RMAN备份[开启归档/控制文件/数据文件/归档日志]): 备份策略: * 每半年做一个数据库的全备份(包括所有的数据和只读表空间) * 每周做一次零级备份 * ...

  7. java-redis字符类数据操作示例(一)

    对于大部分程序猿来讲,学习新知识重在编码实践,于我也是这样.现在初识redis,一直看文章难免感觉是浮光掠影,印象不深.所以间隙中,将自己的测试代码整理成博客,旨在加深记忆并提醒自己对待编程要用心沉下 ...

  8. 报错信息 The jsp:param action must not be used outside the jsp:include, jsp:forward, or jsp:params elements 的原因及解决办法

    如果你的代码是这样的话就会报错 <jsp:forward page="02.jsp"></jsp:forward> <jsp:param value= ...

  9. Vscode 插件

    HTML Snippets Markdown All in One Markdown PDF Markdown Priview Enhanced Markdown TOC Open HTML in D ...

  10. 【SSH框架】系列之 Spring 整合 Hibernate 框架

    1.SSH 三大框架整合原理 Spring 与 Struts2 的整合就是将 Action 对象交给 Spring 容器来负责创建. Spring 与 Hibernate 的整合就是将 Session ...