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. Spring整合JMS(四)——事务管理

    原文链接:http://haohaoxuexi.iteye.com/blog/1983532 Spring提供了一个JmsTransactionManager用于对JMS ConnectionFact ...

  2. 启动mysql遇到1067问题

    最近安装sql的时候,出现一些问题:启动的时候出现1067错误 在网上找了很多方法,比如删除mysql安装目录下date的bdata1, ib_logfile0, .. 等innodb的文件, 比如修 ...

  3. web前端 ajax请求上传图片数据类型处理

    form: function (url, paras, files, success) {//上传的文件类型是MultipartFile[]//如果把需要的参数直接传入,则会请求错误//设置请求参数的 ...

  4. vagrant系列教程(二):vagrant的配置文件vagrantfile详解(转)

    原文:http://blog.csdn.net/hel12he/article/details/51089774 上一篇文章完整的讲叙了如何安装一个vagrant的环境.这里主要说一说vagrant的 ...

  5. Linux下LNMP启动不了的问题总结(2015.05)

    [1] *****@*****-VirtualBox:~$ sudo /etc/init.d/mysql.server start Starting MySQL * Couldn't find MyS ...

  6. 【Unity3D技术文档翻译】第1.8篇 AssetBundles 问题及解决方法

    上一章:[Unity3D技术文档翻译]第1.7篇 AssetBundles 补丁更新 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Deve ...

  7. CentOS 7.3 minimal 开启网络服务

    CentOS7解决不能上网问题 1.先进入控制台 输入ip addr 2.然后su 获取超级管理员权限 3.编辑网络配置文件 vi  /etc/sysonfig/network-scripts/ifc ...

  8. Maven中模块的聚合以及对jar包的继承

    我需要将之前的A B C三个模块聚合到一个一个工程中ABC项目中 pom.xml文件中应该这样配置 1.修改packaging里面的配置 <!-- 用于聚合这个项目的时候应该将packaging ...

  9. 使用tdload工具将本地数据导入到Teradata数据库中

    想把本地的数据文件(比如txt.csv)中的数据导入到Teradata虚拟机中的表中.既可以使用Teradata Assistant中的import功能,也可以使用fastload导入,前者的缺点是一 ...

  10. HDU - 1175 bfs

    思路:d[x][y][z]表示以z方向走到(x, y)的转弯次数. 如果用优先队列会超时,因为加入队列的节点太多,无用的节点不能及时出队,会造成MLE,用单调队列即可. AC代码 #include & ...