svn客户端命令
记几个常用的命令。
首次拉仓库时,先要进行检出(url可以带端口号):
svn checkout http://svn.example.com:9834/repos
svn checkout file://localhost/var/svn/repos
svn checkout file:///var/svn/repos
附url的使用方式:
查看当前仓库的状态,可以指定某个文件的路径(选项-v可以查看所有文件,选项-u可以看远程的和本地的比较):
` svn st `
对仓库修改了其中的文件or目录要暂存(目录会递归添加,可以--non-recursive 或-N 来添加空目录 ):
svn add <files>
对拉下来的仓库稍微修改后要暂存(-F 可以用文件内容作为日志):
svn commit button.c -m "Fixed a typo in button.c."
要从暂存区域删除掉:
svn delete <file>
将本地仓库所有文件更新到最新状态(在update之前可以先看看svn st -u):
svn update
未跟踪的新文件or目录的直接导入并commit到远程仓库的某个目录下:
svn import mytree file:///var/svn/newrepos/some/project -m "Initial import"
列出远程仓库的目录下的文件:
svn list file:///var/svn/newrepos/some/project
已经跟踪的文件需要移动or删除or拷贝or创建目录:
svn copy
和 svn delete
和 svn move
和 svn mkdir
其中move相当于copy后再delete,这些命令可能不会立刻创建文件夹,使用--parents选项可以立刻创建。
update之后可能需要解决冲突,可以先试试:
svn resolved
若不行,再按提示解决冲突,再add解决后的文件,再commit即可。
取消一些修改(file是可选的,会取消它的修改,很智能,要小心):
svn revert <file>
查看log(-r number可以只看某版的提交,也可以直接带文件):
svn log
查看区别(可以带-r选项,也可以带文件名):
svn diff
版本号:
HEAD
版本库中最新的(或者是“最年轻的”)版本。
BASE
工作拷贝中一个条目的修订版本号,如果这个版本在本地修改了,则这里指的是这个条目
在本地未修改的版本。
COMMITTED
项目最近修改的修订版本,与BASE相同或更早。
PREV
The revision immediately before the last revision in which an item changed. Technically, this boils down to COMMITTED−1.
验证
svn默认会缓存你的账户和密码,但是是明文的。一次性的不使用该缓存,只要在命令后面加:
--no-auth-cache
要永久不缓存密码,可以在svn的配置文件中写:
store-passwords = no
要切换到其他的账户,可以如下这样,它会再提示输入密码的,这样又会被保存起来了:
svn --username
状态
使用命令svn st
会出现一些状态:
A item
预定加入到版本库的文件、目录或符号链的item。
C item
文件item发生冲突,在从服务器更新时与工作拷贝(如果更新时没有解决)的本地版本发生
交迭,在你提交到版本库前,必须手工的解决冲突。
D item
文件、目录或是符号链item预定从版本库中删除。
M item
文件item的内容被修改了。
冲突
update之后会有如下的选项:
(p) 让文件在更新完成之后保持冲突状态。
(df) diff-full 使用标准区别格式显示base修订版本和冲突文件本身的区别。
(e) edit 用你喜欢的编辑器打开冲突的文件,编辑器是环境变量EDITOR设置的。
(r) resolved 完成文件编辑之后,通知svn你已经解决了文件的冲突,它必须接受当前的内容—从本质上讲就是你已经“解决了”冲突。
(mf) mine-full 丢弃新从服务器接收的变更,并只使用你查看文件的本地修改。
(tf) theirs-full 丢弃你对查看文件的本地修改,只使用从服务器新接收的变更。
(l) launch 启动一个外置程序来执行冲突解决,这需要一些预先的准备。
(h) help 显示所有在冲突解决时可能使用的命令。
svn客户端命令的更多相关文章
- Linux下SVN客户端安装及使用
转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:C ...
- CentOS安装TortoiseSVN svn 客户端
CentOS安装TortoiseSVN svn 客户端 一.CentOS安装TortoiseSVN yum install -y subversion 二.SVN客户端命令 1.查看帮助 命令:s ...
- CentOS SVN客户端应用
一.CentOS安装TortoiseSVN yum install -y subversion 二.SVN客户端命令 1.将文件checkout到本地目录 svn checkout path( ...
- linux svn 客户端基本使用命令
1.从svn获取项目 svn co URL --username XX --password XX; 2.添加code file svn add codeFile; svn ci -m "c ...
- mac系统及xcode使用的SVN客户端安装升级
当前的SVN版本已经升级到1.8.x了,但mac系统自带的以及xcode使用的SVN客户端版本没有跟着升级,还是1.6.x的版本.为了解决隐藏目录.svn只在根目录下存在的情况,至少要升级到1.7.x ...
- Mac下的SVN客户端工具Cornerstone使用教程
前面几篇文章我介绍SVN服务器的安装,配置,实战.当然其中也加入了一些客户端测试的命令,使用命令当然是一个非常好的选择,但是对我们人类来说还是喜欢图形化界面的操作的.因此本文将介绍我喜欢的一款SVN客 ...
- 在mac上安装svn客户端
mac 10.8上面,默认是没有svn客户端的,可以通过以下两种方式来安装: 1.单独安装xcode命令行工具,安装完成后,在终端中就可以使用svn命令了,目前版本是1.6.18: 2.去 ...
- svn 终端命令
你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令. 恢复本地修改 svn revert [-- ...
- Linux中的svn客户端RabbitVCS-2
我们都知道,自从svn出道以来,很多人都预言,cvs将会被其取代.就如同他们预言maven要取代ant一样.可见,svn的流行.在Windows中,最常用到的开源免费的svn客户端就是Tortoise ...
随机推荐
- 自定义刷新tableView
// // LSTWholeTableController.m // BUDEJIE // // Created by admin on 16/8/17. // Copyright © 201 ...
- phonegap + xcode5.0.2 配置开发环境
phonegap官网: http://phonegap.com/ 第一部:安装nodejs 安装地址:http://nodejs.org/ 安装phoneGap 官网下载http://phonega ...
- Dom4j解析xml
public class Dom4jTest { // Dom4j解析xml // 因为所有的方法都需要Dom树 static Document document = null; static Ele ...
- springMVC中实现servlet依赖注入
记录一下开发过程中遇到的问题: 首先看一下这个帖子: http://blog.csdn.net/gaogaoshan/article/details/23540129 由于我使用的是springMVC ...
- LeetCode 177 Nth-Highest Salary mysql,取第n条数据,limit子句 难度:1
https://leetcode.com/problems/nth-highest-salary/ ATTENTION:limit 子句只能接受int常量,不能接受运算式 CREATE FUNCTIO ...
- 关于C++构造函数初始化顺序
这里主要是说序列初始化成员变量时,存在这样的规则: 1. 先进行序列初始化,再进行构造函数函数体内的赋值等操作. 2. 序列初始化,不是简单的自左至右或自右至左,而是根据成员变量的定义顺序来初始化. ...
- ASP.NET DAY1
<!-- AutoEventWireup,CodeBehind,Inherits等属性可省略, Language属性为必须项 --> <%@ Page Language=" ...
- Secondary NameNode:的作用?
前言 最近刚接触Hadoop, 一直没有弄明白NameNode和Secondary NameNode的区别和关系.很多人都认为,Secondary NameNode是NameNode的备份,是为了防止 ...
- Java之多线程开发时多条件Condition接口的使用
转:http://blog.csdn.net/a352193394/article/details/39454157 我们在多线程开发中,可能会出现这种情况.就是一个线程需要另外一个线程满足某某条件才 ...
- ios 开发中 动态库 与静态库的区别
使用静态库的好处 1,模块化,分工合作 2,避免少量改动经常导致大量的重复编译连接 3,也可以重用,注意不是共享使用 动态库使用有如下好处: 1使用动态库,可以将最终可执行文件体积缩小 2使用动态库, ...