SVN版本控制基础指令

1,577 阅读3分钟

本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,2万元奖池等你挑战!

前言

  版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。本章初识SVN

1、SVN简介

  Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

2、SVN 的一些概念

  • repository(源代码库):源代码统一存放的地方。
  • Checkout(提取):当没有源代码的时候,需要从repository checkout一份,进行修改和开发。
  • Commit(提交):当已经修改了代码,需要Commit到repository中。
  • Update (更新):当已经Checkout了一份源代码, Update一下就可以和Repository上的源代码同步。

3、SVN 的主要功能

  • 目录版本控制
  • 真实的版本历史
  • 自动提交
  • 纳入版本控管的元数据
  • 选择不同的网络层
  • 一致的数据处理方式
  • 有效的分支(branch)与标签(tag)
  • Hackability

4、SVN 检出操作

svn checkout http://svn.test.com/svn/project --username=username

  检出成功后在当前目录下生成检出目录。查看检出的内容 执行 ll project /

5、SVN 解决冲突

  当发现文件存在错误,需要修改文件并提交到版本库中。需要进行解决冲突的操作。   首先查看文件不同之处

svn diff

  然后尝试使用下面的命令来提交更改:

svn commit -m "变更备注"

  提示提交失败,为了避免两人的代码被互相覆盖,Subversion 不允许我们进行这样的操作。对文件进行更新。

svn update

  此时本地和仓库已经同步,可以安全地提交更改了

svn commit -m "再次变更备注"

6、SVN 提交操作

  首先将文件放入版本控制中

svn add "需要提交的文件"

  可以查看文件在版本控制中的状态

svn status

  最后进行提交

svn commit -m "需要提交的文件"

7、SVN 版本回退

  发现修改错误,要撤销修改,通过 svn revert 文件 回归到未修改状态

svn revert "需要回退的文件"

  恢复目录

svn revert -R "目录文件"

  撤销回之前的版本,现在是版本 1008,撤回到1006 版本

svn merge -r 1008:1006 readme 

8、SVN分支管理

  创建分支

svn copy 版本库/ branches/新建分支

  提交新增的分支到版本库。

svn commit -m "add 新建分支" 

  分支合并

 svn merge ../branches/新建分支/

9、SVN 查看历史信息

  • svn log: 用来展示svn 的版本作者、日期、路径等等。
  • svn diff: 用来显示特定修改的行级详细信息。
  • svn cat: 取得在特定版本的某文件显示在当前屏幕。
  • svn list: 显示一个目录或某一版本存在的文件。