svn基本的操作流程

刚刚进入一个新的公司,让我接手一个正在进行的项目,我打开终端写下了:svn co svn://192.168.1.1/pro/domain

然后就可以在当前目录里面找到一个叫domain的项目,

cd domain,

我浏览了几行代码,嗯,竟然有bug,我忍不住改了,我要提交了,

svn ci -m 'something'  ,成功。

我又在domain下的app文件夹下添加了几个.php文件,把整个项目都做完了!

我又打开终端:svn add domain/app/*.php 添加成功。

以下是一些常用命令

1、将文件checkout到本地目录

1 svn checkout path(path是服务器上的目录)

2 例如:svn checkout svn://192.168.1.1/pro/domain3 简写:svn co

2、往版本库中添加新的文件

1 svn add file
2 例如:svn add test.php(添加test.php)
3 svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

1 svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)
2 例如:  svn commit -m “add test file for my test“ test.php
3 简写:  svn ci

4、加锁/解锁

1 svn lock -m “LockMessage“ [--force] PATH
2 例如: svn lock -m “lock test file“ test.php
3 svn unlock PATH

5、更新到某个版本

1 svn update -r m path
2 例如:   svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)   
svn update test.php(更新,于版本库同步。
如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
3 简写:svn up

6、查看文件或者目录状态

1 1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
2 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
3 2)svn status -v path(显示文件和子目录状态)
4 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
5 注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
6 简写: svn st

7、删除文件

1 svn delete path -m “delete test fle“
2 例如: svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
3 或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种4 简写: svn (del, remove, rm)

8、查看日志

1 svn log path
2 例如: svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、查看文件详细信息

1 svn info path
2 例如: svn info test.php

10、比较差异

1 svn diff path(将修改的文件与基础版本比较)
2 例如: svn diff test.php
3 svn diff -r m:n path(对版本m和版本n比较差异)
4 例如: svn diff -r 200:201 test.php5 简写: svn di

11、将两个版本之间的差异合并到当前文件

1 svn merge -r m:n path
2 例如: svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)
 

12、SVN 帮助

1 svn help2 svn help ci

13、版本库下的文件和目录列表

1 svn list path2 显示path目录下的所有属于版本库的文件和目录3 简写:svn ls

14、创建纳入版本控制下的新目录

1 svn mkdir: 创建纳入版本控制下的新目录。
2 用法: 1、mkdir PATH…2、mkdir URL…创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。在这两个情况下,所有的中间目录都必须事先存在

15、恢复本地修改

1 svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:

2 用法: revert PATH…3 注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复4 被删除的目录

16、代码库URL变更

1 svn switch (sw): 更新工作副本至不同的URL。 
2 用法:
1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
 
3 更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。
4 改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系

17、解决冲突

1 svn resolved: 移除工作副本的目录或文件的“冲突”状态。
2 用法: resolved PATH…
3 注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。
 


Mac 终端下svn常用命令的使用的更多相关文章

  1. mac终端下svn常用命令

    svn基本的操作流程就是: 你刚刚进入一个新的公司,让你接手一个正在进行的项目,你打开终端写下了:svn co svn://192.168.1.1/pro/domain 然后就可以在当前目录里面找到一 ...

  2. linux命令行下svn常用命令

    linux命令行下svn常用命令 1. 将文件checkout到本地目录 1 #path是服务器上的目录 2 svn checkout path 3 4 #示例 5 svn checkout svn: ...

  3. linux下svn常用命令

    (如果是第一次提交文件,很可能会出现“svn:'.'不是工作副本”,即当前目录不是工作副本,这个时候需要用到import: eg:svn import . url) 1.将文件checkout到本地目 ...

  4. mac系统下的常用命令

    这是我日常在mac下记录的一些常用终端命令: 1 java 2 javac 3 exit 4 /Users/lianxumac/Desktop/apktool1.5.2/反编译 ; exit; 5 / ...

  5. mac终端下运行shell脚本

    最近公司要弄关于IOS下自动化打包的东西,研究了用命令行的形式来代替手工的方式来处理.即: 用xcodebuild 和xcrun  语法来进行脚本实现.    但由于语法的结构够了,另一个问题产生了, ...

  6. 终端下将 man 命令的结果输出到文件保存

    终端下将 man 命令的结果输出到文件保存 在linux或mac下,当我们使用man命令查看某一个命令的详细帮助说明信息时: 可能终端的显示效果不是那么方便: 那么我们可以将man命令的结果输出到tx ...

  7. 转载-SVN常用命令

    SVN(Subversion)是一个自由.开源的项目源代码版本控制工具.目前,绝大多数开源软件和企业代码管理,都使用SVN作为代码版本管理软件. Subversion将文件存放在中心版本库里,这个版本 ...

  8. (转载)Mac系统下利用ADB命令连接android手机并进行文件操作

    Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报  分类: Androi ...

  9. Mac 环境下svn服务器的配置

    Mac 环境下svn服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Torto ...

  10. linux 下 mysql 常用命令

    linux 下 mysql 常用命令   阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...

随机推荐

  1. 【代码设计】C# 实现 AOP 面向切面编程

    简单记录一下对AOP的认识,正文为3个部分 一.AOP由来 二.用DispatchProxy动态代理实现AOP 三.通过特性标记,处理多种不同执行前.执行后的逻辑编排 一.AOP 由来 IUserHe ...

  2. . net core 项目创建和发布

    1.发布和部署到IIS https://www.cnblogs.com/loverwangshan/p/11284169.html https://www.cnblogs.com/wangjiegua ...

  3. 关于valueOf的一点思考

    官方描述:返回值为该对象的原始值. 来源:Object.prototype,所以所有js对象都继承了此方法,根据犀牛书第六版的描述,对象转换为数字和字符串的时候的过程是不一样的. 对象 -> 字 ...

  4. DBeaver连接mysql时Public Key Retrieval is not allowed错误

    前言 DBeaver 连接 mysql 时,报错:Public Key Retrieval is not allowed 解决 在新建连接的时候,驱动属性里设置 allowPublicKeyRetri ...

  5. 原子指令,自旋锁,CAS

    原子指令,自旋锁,CAS 问题 我们先看一下这段代码: /* * badcnt.c - An improperly synchronized counter program */ /* $begin ...

  6. 我对TamperMonkey的不满-更新中

    我认为我的电脑上的TamperMonkey插件的值得考虑的不足: 没有提供一个把脚本最小化的功能 不能编辑热键 脚本icon不能使用svg 没有提供一种很好的能够区分别人的脚本和自己的脚本的方式,自己 ...

  7. halcon 深度学习教程(三) 目标检测之水果分类

    原文作者:aircraft 原文链接:halcon 深度学习教程(三) 目标检测之水果分类 - aircraft - 博客园 深度学习教程目录如下,还在继续更新完善中 深度学习系列教程目录 有兴趣可以 ...

  8. Docker安装及使用,Docker 安装MySQL、安装Tomcat、安装RabbitMQ

    CentOS7安装Docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经 ...

  9. 从零开始构建智能聊天机器人:Rasa与ChatGPT API实战教程

    引言:AI对话系统的时代机遇 在数字化转型浪潮中,聊天机器人已成为连接用户与服务的关键纽带.无论是客服系统中的7×24小时即时响应,还是智能家居中的语音交互,聊天机器人正在重塑人机交互方式.本文将通过 ...

  10. 基于华为交换机的三层Clos架构(Leaf-Spine)配置指南

    基于华为交换机的三层Clos架构(Leaf-Spine)配置指南 目录 设计原则 配置步骤 物理连接与基础配置 路由协议配置 VXLAN+EVPN配置 M-LAG高可用配置 BFD快速检测 验证命令 ...