04.SVN查看历史/分支/标签

04.SVN查看历史/分支/标签

SVN 查看历史信息


通过svn命令可以根据时间或修订号去除过去的版本,或者某一版本所做的具体的修改。以下四个命令可以用来查看svn 的历史:

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

1、svn log

可以显示所有的信息,如果只希望查看特定的某两个版本之间的信息,可以使用:

如果只想查看某一个文件的版本修改信息,可以使用 svn log 文件路径。

如果希望得到目录的信息要加 -v

如果希望显示限定N条记录的目录信息,使用 svn log -l N -v


2、svn diff

用来检查历史修改的详情。

  • 检查本地修改
  • 比较工作拷贝与版本库
  • 比较版本库与版本库

(1)、如果用 svn diff,不带任何参数,它将会比较你的工作文件与缓存在 .svn 的"原始"拷贝。

(2)、比较工作拷贝和版本库

比较你的工作拷贝和版本库中版本号为 3 的文件 rule.txt。

(3)、比较版本库与版本库

通过 -r(revision) 传递两个通过冒号分开的版本号,这两个版本会进行比较。

比较 svn 工作版本中版本号2和3的这个文件的变化。


3、svn cat

如果只是希望检查一个过去版本,不希望查看他们的区别,可使用svn cat

这个命令会显示在该版本号下的该文件内容


4、svn list

svn list 可以在不下载文件到本地目录的情况下来察看目录中的文件:

SVN分支


Branch 选项会给开发者创建出另外一条线路。当有人希望开发进程分开成两条不同的线路时,这个选项会非常有用。

比如项目 demo 下有两个小组,svn 下有一个 trunk 版。

由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组 1 继续完成原来正进行到一半的工作(某个模块),小组 2 进行新需求的开发。

那么此时,我们就可以为小组2建立一个分支,分支其实就是 trunk 版(主干线)的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们可以通过(合并)功能,将分支合并到 trunk 上来,从而最后合并为一个项目。

我们在本地副本中创建一个 my_branch 分支。

查看状态:

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

接着我们就到 my_branch 分支进行开发,切换到分支路径并创建 index.html 文件。

将 index.html 加入版本控制,并提交到版本库中。

切换到 trunk,执行 svn update,然后将 my_branch 分支合并到 trunk 中。

此时查看目录,可以看到 trunk 中已经多了 my_branch 分支创建的 index.html 文件。

将合并好的 trunk 提交到版本库中。

SVN 标签(tag)


版本管理系统支持 tag 选项,通过使用 tag 的概念,我们可以给某一个具体版本的代码一个更加有意义的名字。

Tags 即标签主要用于项目开发中的里程碑,比如开发到一定阶段可以单独一个版本作为发布等,它往往代表一个可以固定的完整的版本,这跟 VSS 中的 Tag 大致相同。

我们在本地工作副本创建一个 tag。

上面的代码成功完成,新的目录将会被创建在 tags 目录下。

查看状态。

提交tag内容。

原文发布于微信公众号 - Java帮帮(javahelp)

原文发表时间:2017-12-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小二的折腾日记

服务器-Nginx模块化结构

习惯上将Nginx分为:核心模块、标准模块、可选HTTP模块、邮件服务模块和第三方模块五大类。

8220
来自专栏史上最简单的Spring Cloud教程

Openresty最佳案例 | 第7篇: 模块开发、OpenResty连接Redis

Lua模块开发 在实际的开发过程中,不可能把所有的lua代码写在一个lua文件中,通常的做法将特定功能的放在一个lua文件中,即用lua模块开发。在lualib...

42570
来自专栏名山丶深处

CentOS快速安装Redis

19240
来自专栏编程坑太多

一个简单的Django项目

15340
来自专栏PHP实战技术

如何运行vue项目

从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装)。

380100
来自专栏惨绿少年

OpenSUSE 服务器系统部署

1、准备 1.1 下载系统 下载地址:https://software.opensuse.org/distributions/leap     目前的最新版本为...

45170
来自专栏cloudskyme

linux ftp命令参数全集

linux ftp命令参数是我们常用的服务器控制手段。那么我们现在就来介绍一些linux ftp命令参数。希望能帮助大家快速查阅,这些命令都是常用的,肯定会对您...

57990
来自专栏运维小白

2.16 umask

umask命令介绍 umask命令,通过这个值可以确定文件和目录的默认权限是什么。 默认情况下,目录的权限值为755(rwxr-xr-x),普通文件的默认权限为...

22050
来自专栏颇忒脱的技术博客

利用VisualVm远程监控Java进程

要实现远程监控Java进程,必须在远程主机(运行Java程序的主机)上跑一个jstatd进程,这个进程相当于一个agent,用来收集远程主机上的JVM运行情况,...

21810
来自专栏散尽浮华

python案例-用户登录

要求: •输入用户名密码 •认证成功后显示欢迎信息 •输错三次后锁定 1 #!/usr/bin/env python 2 # -*- coding:utf-...

31170

扫码关注云+社区

领取腾讯云代金券