0. 前言
svn版本控制工具在开发中用的越来越多,很多人对一些命令一知半解,本文将介绍开发用到的常用命令。废话少说,查看svn 有哪些命令:
[dev@wenhua1-dev root]$ svn help
用法: svn <subcommand> [options] [args]
Subversion 命令行客户端,版本 1.6.11。
使用“svn help <subcommand>” 显示子命令的帮助信息。
使用“svn --version”查看程序的版本号和版本库访问模块,或者
使用“svn --version --quiet”只查看程序的版本号。
大多数的子命令可接受文件或目录参数,对目录进行递归处理。
如果没有指定参数,默认对当前目录(包含当前目录)递归处理。
可用的子命令:
add
blame (praise, annotate, ann)
cat
changelist (cl)
checkout (co)
cleanup
commit (ci)
copy (cp)
delete (del, remove, rm)
diff (di)
export
help (?, h)
import
info
list (ls)
lock
log
merge
mergeinfo
mkdir
move (mv, rename, ren)
propdel (pdel, pd)
propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)
resolve
resolved
revert
status (stat, st)
switch (sw)
unlock
update (up)
Subversion 是版本控制工具。
1、从远程服务器检出代码 svn co
说明:从远程服务器检出代码
[dev@hua1-dev tags]$ svn co http://svn.haoyaoshi.com/svn/sourth/cloud/tags/v1.0
A v1.0/a.txt
U v1.0
取出版本 12449。
2、查看本地代码更改情况 svn st | svn di
svn st :查看本地文件更改情况,具体前置符号含义
?未纳入版本控制文件
M 更改文件
A 新增文件
D 删除文件
[dev@hua1-dev message]$ svn st
? src/config/config.php
M src/dao/logdao.php
A cron/delaydata.php
svn diff:查看修改文件内容具体更改
[dev@hua1-dev /]$ svn di
Index: scripts/a.php
===================================================================
--- scripts/a.php (版本 139709)
+++ scripts/a.php (工作副本)
@@ -1,3 +1,14 @@
<?php
- aaaaaaa;
- bbbbbbbbbbb;
+ cccccccccccc;
+ ddddddddddddd
3、查看提交记录 svn log
说明:查看仓库提交log记录
[dev@hua1-dev trunk]$ svn log -l2
------------------------------------------------------------------------
r20870 | peng | 2019-11-15 16:44:46 +0800 (五, 2019-11-15) | 1 行
ZT591,功能影响修改
------------------------------------------------------------------------
r20869 | fu | 2019-11-15 16:41:18 +0800 (五, 2019-11-15) | 1 行
TECH461,修改
------------------------------------------------------------------------
4、回退更改到上一次提交 svn revert
说明:回退文件至上一次提交
[dev@hua1-dev x]$ svn revert scripts/a.php
已恢复“scripts/a.php”
5、更新远程代码到本地 svn up
说明:更新远程仓库内容到本地仓库
[dev@hua1-dev /]$ svn up
U form/controllers/a.php
U c.txt
U c/controllers/d.php
U b.txt
更新到版本 208977。
6、查看本地代码分支信息 svn info
说明:查看svn本地分支提交人信息,版本信息和远程仓库地址等。
[dev@hua1-dev /]$ svn info
路径: .
URL: http://svn.hys.com/svn/swh/branches/v2.3
版本库根: http://svn.hys.com/svn/swh
版本库 UUID: a51c084g-018f-4647-9244-beb17ff3ab29
版本: 20811
节点种类: 目录
调度: 正常
最后修改的作者: sun
最后修改的版本: 20870
最后修改的时间: 2019-11-14 11:55:16 +0800 (四, 2019-11-14)
7、合并代码svn merge
说明:将一个分支合并到另外一个分支,如果想将old分支合并到new分支,先将new分支svn co 到本地在操作
//现将old分支123到150版本合并到new分支上
[dev@sunwenhua1-dev new]$ svn merge -r123:150 http://svn.aliyun.net/svn/cloud/branches/old
8、比较两个远程分支差异 svn diff
说明:比较远程分支差异,任何地方执行即可
[dev@hua1-dev v1.0]$ svn diff http://svn.aliyun.com/svn/cloud/tags/v2.0 http://svn.aliyun.net/svn/cloud/tags/v1.0
9、切分支命令 svn cp
说明:从一个分支切分支到另外一个分支
我们想从trunk上切一个分支new, 首先我们把trunk分支svn co到本地,然后进入目录执行如下命令:
[dev@hua1-dev trunk]$ svn cp -m"create branches v9.1.1" ./ http://svn.aliyun.net/svn/cloud/branches/v9.1.1
提交后的版本为 12450。