svn命令大全
Windows下SVN使用指南
10.查看日情。使用以下命令:
svn log
svn merge 仓库URL/分支名
8.解决冲突
当多个开发者对同一个文件进行了更改并提交后,可能会出现冲突。SVN会自动检测到冲突,并将冲突的文件标记出来。你需要手动解决这些冲突。使用以下命令来查看冲突的文件:
svn status
9.版本回退
如果你不满意一些版本的更改,你可以回退到之前的版本。使用以下命令:
svn update
6.提交更改
当你对项目进行了更改,并且希望将这些更改提交到仓库中时,使用以下命令:
7.分支和合并
SVN允许你创建分支来独立开发一些功能或解决一些问题。要创建分支,使用以下命令:
svn copy 仓库URL 仓库URL/分支名 -m "创建分支"
当分支开发完成后,你可以将其合并回主干。使用以下命令:
svnadmin create 仓库路径
3.导入项目到仓库
将你的项目文件导入到仓库中,使用以下命令:
svn import 本地项目路径 仓库URL -m "导入项目"
4.检出项目
要开始使用SVN,你需要从仓库中检出项目。使用以下命令:
svn checkout 仓库URL 本地目录
5.更新项目
当其他人对项目进行了更改,并提交到仓库中时,你需要将这些更改更新到你的本地项目中。使用以下命令:
Windows下SVN使用指南
SVN是一个开源的版本控制系统,它可以帮助开发团队管理和控制项目的版本。它是以集中化的方式工作,意味着所有的文件和版本都存储在一个中央仓库中。在Windows操作系统下,使用SVN非常方便,以下是一个SVN的使用指南。
svnsync sync用法
svnsync sync用法
svnsync sync命令是Subversion版本控制工具中的一个用于将一个本地Subversion仓库中的变更同步到另一个远程Subversion仓库中的命令。
具体的使用方法如下:
1. 首先,需要通过以下命令创建一个本地仓库的只读副本:
```
svn co --username=USERNAME --password=PASSWORD
svn://REMOTE_REPO local_copy
```
其中,USERNAME和PASSWORD是远程仓库的用户名和密码,REMOTE_REPO是远程仓库的地址。
local_copy是本地仓库的目录。
2. 接着,需要在本地仓库中执行以下命令,将其设置为只读状态:
```
svn propset svn:sync-read-only true local_copy
```
3. 然后,需要将本地仓库设置为只读的svnsync仓库:
```
svn propset svn:sync-from-url svn://REMOTE_REPO local_copy ```
4. 最后,执行以下命令,将本地仓库中的变更同步到远程仓库中:
```
svnsync sync file:///PATH/TO/REPO
```
其中,PATH/TO/REPO是远程仓库在本地的路径。
需要注意的是,此命令的使用前提是具备读写权限,如果权限不够请先申请。
SVN 查看历史信息命令及用法
SVN 查看历史信息通过svn命令可以根据时间或修订号去查看过去的版本,或者某一版本所做的具体的修改。
以下四个命令可以用来查看svn 的历史:svn log 用来展示svn 的版本作者、日期、路径等等;svn diff 用来显示特定修改的行级详细信息;svn cat 取得在特定版本的某文件显示在当前屏幕;svn list 显示一个目录或某一版本存在。
(一)svn loglog: 显示一组版本与/或文件的提交日志信息。
用法: 1、log [PA TH]2、log URL[@REV] [PA TH...]1、显示本地PA TH (默认: “.”) 的日志信息。
默认的版本范围是BASE:1。
2、显示URL 中PA TH (默认: “.”) 的日志信息。
如果指定了REV,就从REV开始查找URL,版本范围是REV:1。
否则就从HEAD 开始查找URL,版本范围是HEAD:1。
可以指定多个“-c”或“-r”选项(但是不允许同时使用“-c”和“-r”选项),以及混合使用前向和后向范围。
使用-v 时,在日志信息中显示受影响的路径名。
使用-q 时,不显示日志信息主体(请注意,它可与-v 并存)。
每条日志信息只会显示一次,即使指定了此版本涉及到的多个路径。
默认日志信息会追溯复制历史;使用--stop-on-copy 可以关闭这种行为,这可以用来找出分支点。
有效选项:-r [--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)版本参数可以是如下之一:NUMBER 版本号'{' DA TE '}' 在指定时间以后的版本'HEAD' 版本库中的最新版本'BASE' 工作副本的基线版本'COMMITTED' 最后提交或基线之前'PREV' COMMITTED的前一版本-q [--quiet] : 不打印信息,或只打印概要信息-v [--verbose] : 打印附加信息-g [--use-merge-history] : 从合并历史使用/显示额外信息-c [--change] ARG : 版本ARG 引起的改变--targets ARG : 传递文件ARG 内容为附件参数--stop-on-copy : 查看历史不要跨越不同的副本--incremental : 给予适合串联的输出--xml : 输出为XML-l [--limit] ARG : 日值项最大值--with-all-revprops : 获取所有版本属性--with-no-revprops : 没有找回版本属性--with-revprop ARG : 获取版本属性ARG全局选项:--username ARG : 指定用户名称ARG--password ARG : 指定密码ARG--no-auth-cache : 不要缓存用户认证令牌--non-interactive : 不要交互提示--trust-server-cert : 不提示的接受未知的SSL 服务器证书(只用于选项“--non-interactive”)--config-dir ARG : 从目录ARG 读取用户配置文件--config-option ARG : 以下属格式设置用户配置选项:FILE:SECTION:OPTION=[V ALUE]例如:servers:global:http-library=serf实例1:获取版本号14的版本信息svn log -r r14 或者svn log -r 14实例2:获取版本号14至17的版本信息svn log -r r14:r17 或者svn log -r 14:17实例3:获取全部版本信息svn log实例4:获取制定单个文件的版本信息svn log foo.csvn log /repo/project/foo.csvn log /repo/project foo.c bar.c实例5:查看版本信息及提交的文件路径并导入以XML形式导出svn log -v -r 14:17 > svn.xml --xmlsvn log -v -r 14:17 >> svn.xml --xml(二)svn diff用法: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...]2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \[PA TH...]3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV]1、显示版本REV 中TARGET 在两个不同的版本之间的差异。
SVN-man
SVN常用命令 常用命令 list (ls)
list (ls): 列出版本库中的目录内容。 用法: list [TARGET[@REV]...]
update (up)
update (up): 将版本库的修改合并到工作副本中。 用法: update [PATH...] 如果没有指定版本,则将工作副本更新到 HEAD 版本。否则同步到 -r 选项所 指定的版本。 每更新一项就输出一行信息,使用首字符来报告执行的动作。这些字符的含义是: A 已添加 D 已删除 U 已更新 C 合并冲突 G 合并成功 E 已存在
SVN常用命令 常用命令 revert
revert: 将工作副本文件恢复到原始版本(恢复大部份的本地修改)。 用法: revert PATH... 注:本子命令不会访问网络,是本地操作,它能解除任何冲突的状态,但是,它不恢 复被删除的目录。恢复被删除的目录,需要使用up命令。
copy (cp)
copy (cp): 在工作副本或版本库中复制数据,主要用来创建分支和tag。 用法: copy SRC[@REV]... DST 注:SRC和DST可以是WC或URL
SVN命令行使用手册 命令行使用度 服务器与 库结构 SVN服务器地址 服务器地址
https:///产品库路径 如:https://SVN常用命令 常用命令 info
info: 显示本地或远程条目的信息。 用法: info [TARGET[@REV]...] 主要参数: -r ARG:指定从哪个版本开始显示目标 -R:向下递归 注:默认目录为“.”,即当前目录
log
log: 显示一组版本与/或文件的提交日志信息。 用法: 1、log [PATH] 2、log URL[@REV] [PATH...] 主要参数: -r ARG:指定从哪个版本开始向前显示所有log信息 -q [--quiet]:只打印概要信息 -v [--verbose]:打印附加信息 --stop-on-copy :查看历史不要跨越不同的副本
SVN常用命令(WINDOWS)
SVN常用命令(windows)1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn addtest.php(添加test.php)svn add*.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit-m“LogMessage“[-N][--no-unlock]PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit-m“add test file for my test“test.php简写:svn ci4、加锁/解锁svn lock-m“LockMessage“[--force]PATH例如:svn lock-m“lock test file“test.phpsvn unlock PATH5、更新到某个版本svn update-r m path例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update-r200test.php(将版本库中的文件test.php还原到版本200)svn update test.php(更新,于版本库同步。
如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)简写:svn up6、查看文件或者目录状态1)svn status path(目录下的文件和子目录的状态,正常状态不显示)【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】2)svn status-v path(显示文件和子目录状态)第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
SVN命令大全
SVN命令⼤全SVN命令⼤全1.svn checkout将⽂件checkout到本地⽬录svn checkout <path> //path是服务器上的⽬录⽰例:svn checkout svn://192.168.1.1/pro/domain简写:svn co2.svn add往版本库中添加新的⽂件svn add <file> //file是⽂件的路径⽰例:svn add test.php //添加test.phpsvn add *.php // 添加当前⽬录下所有的php⽂件3.svn commit -m将改动的⽂件提交到版本库//如果选择了保持锁,就使⽤–no-unlock开关svn commit -m “LogMessage“ [-N] [--no-unlock] <path> //LogMessage是需要提交的log,path是需要提交⽂件的路径⽰例:svn commit -m “add test file for my test“ test.php简写:svn ci4.svn lock -m加锁/解锁svn lock -m “LockMessage“ [--force] <path> //加锁svn unlock <path> //解锁⽰例:svn lock -m “lock test file“ test.php //加锁svn unlock test.php //解锁5.svn update更新到某个版本svn update -r m <path> //-r是全部执⾏ m指的是版本号,path是更新的路径⽰例:svn update //如果后⾯没有⽬录,默认将当前⽬录以及⼦⽬录下的所有⽂件都更新到最新版本。
svn update -r 200 test.php //将版本库中的⽂件test.php还原到版本200svn update test.php //更新,于版本库同步。
SVN常用命令详解
SVN常用命令详解SVN常用命令详解版本:1.0发布日期:2011-1-27实施日期:2011-1-27修订记录目录修订记录 (2)1.Svnadmin概述 (16)2.svnadmin 选项 (16)2.1.svnadmin list (17)2.1.1.摘要 (17)2.1.2.描述 (17)2.1.3.范例 (17)2.2.svnadmin create (18)2.2.1.摘要 (18)2.2.2.描述 (18)2.2.3.范例 (18)2.3.svnadmin dump (18)2.3.1.摘要 (18)2.3.2.描述 (19)2.3.3.范例 (19)2.4.svnadmin help (20)2.4.1.摘要 (20)2.4.2.描述 (20)2.5.svnadmin load (20)2.5.1.摘要 (20)2.5.2.描述 (20)2.5.3.范例 (20)2.6.svnadmin lstxns (20)2.6.1.摘要 (21)2.6.2.描述 (21)2.6.3.范例 (21)2.7.svnadmin recover (21)2.7.1.摘要 (21)2.7.2.描述 (21)2.7.3.Warning(注意:) (21)2.7.4.范例 (21)2.8.svnadmin rmtxns (22)2.8.1.摘要 (22)2.8.2.描述 (22)2.8.3.范例 (22)2.9.svnadmin setlog (22)2.9.1.摘要 (22)2.9.2.描述 (23)2.9.3.Warning(注意:) (23)2.9.4.范例 (23)3.svnlook (23)4.svnlook 选项 (23)4.1.svnlook author (24)4.1.1.摘要 (24)4.1.2.描述 (24)4.1.3.范例 (24)4.2.svnlook cat (25)4.2.1.摘要 (25)4.2.2.描述 (25)4.2.3.范例 (25)4.3.svnlook changed (25)4.3.1.摘要 (26)4.3.2.描述 (26)4.3.3.范例 (26)4.4.svnlook date (26)4.4.1.摘要 (26)4.4.2.描述 (26)4.4.3.范例 (27)4.5.svnlook diff (27)4.5.2.描述 (27)4.5.3.范例 (27)4.6.svnlook dirs-changed (28)4.6.1.摘要 (28)4.6.2.描述 (28)4.6.3.范例 (28)4.7.svnlook help (29)4.7.1.摘要 (29)4.7.2.描述 (29)4.8.svnlook history (29)4.8.1.摘要 (29)4.8.2.描述 (29)4.8.3.范例 (29)4.9.svnlook info (30)4.9.1.摘要 (30)4.9.2.描述 (30)4.9.3.范例 (31)4.10.svnlook log (31)4.10.1.摘要 (31)4.10.2.描述 (31)4.10.3.范例 (31)4.11.svnlook proplist (31)4.11.1.摘要 (32)4.11.2.描述 (32)4.11.3.范例 (32)4.12.svnlook tree (32)4.12.1.摘要 (32)4.12.2.范例 (33)4.13.svnlook youngest (33)4.13.2.描述 (33)4.13.3.范例 (33)5.Subversion 命令行客户端: svn (34)6.svn 选项 (34)6.1.--diff-cmd CMD (34)6.2.--diff3-cmd CMD (34)6.3.--dry-run (34)6.4.--editor-cmd CMD (35)6.5.--encoding ENC (35)6.6.--extensions (-x) "ARGS" (35)6.7.--file (-F) FILENAME (35)6.8.--force (35)6.9.--force-log (35)6.10.--help (-h 或 -?) (36)6.11.--notice-ancestry (36)6.12.--incremental (36)6.13.--message (-m) MESSAGE (36)6.14.--new ARG (36)6.15.--no-auth-cache (36)6.16.--no-diff-deleted (36)6.17.--no-ignore (37)6.18.--non-interactive (37)6.19.--non-recursive (-N) (37)6.20.--old ARG (37)6.21.--password PASS (37)6.22.--quiet (-q) (37)6.23.--recursive (-R) (37)6.24.--relocate FROM TO [PATH...] (38)6.25.--revision (-r) REV (38)6.26.--revprop (38)6.27.--show-updates (-u) (38)6.28.--stop-on-copy (38)6.29.--strict (39)6.30.--targets FILENAME (39)6.31.--usernameNAME (39)6.32.--verbose (39)6.33.--version (39)6.34.--xml (39)7.svn 子命令 (40)7.1.svn add (40)7.1.1.摘要 (40)7.1.2.描述 (40)7.1.3.替代名称 (40)7.1.4.更动 (40)7.1.5.选项 (40)7.1.6.范例 (40)7.2.svn cat (41)7.2.1.摘要 (41)7.2.2.描述 (41)7.2.3.替代名称 (41)7.2.4.更动 (41)7.2.5.存取档案库 (41)7.2.6.选项 (42)7.2.7.范例 (42)7.2.8.Tip (42)7.3.svn checkout (42)7.3.1.摘要 (42)7.3.2.描述 (43)7.3.3.替代名称 (43)7.3.5.存取档案库 (43)7.3.6.选项 (43)7.3.7.范例 (43)7.4.svn cleanup (45)7.4.1.摘要 (45)7.4.2.描述 (45)7.4.3.替代名称 (46)7.4.4.更动Changes (46)7.4.5.存取档案库 (46)7.4.6.选项: (46)7.4.7.范例 (46)7.5.svn commit (46)7.5.1.摘要 (46)7.5.2.描述 (46)7.5.3.Tip (47)7.5.4.替代名称 (47)7.5.5.更动 (47)7.5.6.存取档案库 (47)7.5.7.选项 (47)7.5.8.范例 (48)7.6.svn copy (49)7.6.1.摘要 (49)7.6.2.描述 (49)7.6.3.Warning (49)7.6.4.替代名称 (49)7.6.5.更动 (49)7.6.6.存取档案库 (50)7.6.7.选项 (50)7.6.8.范例 (50)7.7.svn delete (51)7.7.1.摘要 (51)7.7.2.描述 (52)7.7.3.替代名称 (52)7.7.4.更动 (52)7.7.5.存取档案库 (52)7.7.6.选项 (52)7.7.7.范例 (53)7.8.svn diff (53)7.8.1.摘要 (53)7.8.2.描述 (54)7.8.3.替代名称 (54)7.8.4.更动 (54)7.8.5.存取档案库 (54)7.8.6.选项 (54)7.8.7.范例 (55)7.9.svn export (56)7.9.1.摘要 (56)7.9.2.描述 (56)7.9.3.替代名称 (57)7.9.4.修改 (57)7.9.5.存取档案库 (57)7.9.6.选项 (57)7.9.7.范例 (57)7.10.svn help (58)7.10.1.摘要 (58)7.10.2.描述 (58)7.10.3.替代名称 (58)7.10.4.更动 (58)7.10.6.选项 (58)7.11.svn import (58)7.11.1.摘要 (59)7.11.2.描述 (59)7.11.3.替代名称 (59)7.11.4.更动 (59)7.11.5.存取档案库 (59)7.11.6.选项 (59)7.11.7.范例 (60)7.12.svn info (60)7.12.1.摘要 (60)7.12.2.描述 (60)7.12.3.替代名称 (61)7.12.4.更动 (61)7.12.5.存取档案库 (61)7.12.6.选项 (61)7.12.7.范例 (61)7.13.svn list (62)7.13.1.摘要 (62)7.13.2.描述 (62)7.13.3.替代名称 (63)7.13.4.更动 (63)7.13.5.存取档案库 (63)7.13.6.选项 (63)7.13.7.范例 (63)7.14.svn log (64)7.14.1.摘要 (64)7.14.2.描述 (64)7.14.3.替代名称 (65)7.14.4.更动 (65)7.14.5.存取档案库 (65)7.14.6.选项 (65)7.14.7.范例 (65)7.15.svn merge (69)7.15.1.摘要 (69)7.15.2.描述 (70)7.15.3.替代名称 (70)7.15.4.更动 (70)7.15.5.存取档案库 (70)7.15.6.选项 (70)7.15.7.范例 (71)7.16.svn mkdir (71)7.16.1.摘要 (71)7.16.2.描述 (71)7.16.3.替代名称 (72)7.16.4.更动 (72)7.16.5.存取档案库 (72)7.16.6.选项 (72)7.16.7.范例 (72)7.17.svn move (73)7.17.1.摘要 (73)7.17.2.描述 (73)7.17.3.Tip (73)7.17.4.Warning (73)7.17.5.替代名称 (73)7.17.6.更动 (73)7.17.7.存取档案库 (74)7.17.8.选项 (74)7.17.9.范例 (74)7.18.svn propdel (74)7.18.1.摘要 (75)7.18.2.描述 (75)7.18.3.替代名称 (75)7.18.4.更动 (75)7.18.5.存取档案库 (75)7.18.6.选项 (75)7.18.7.范例 (75)7.19.svn propedit (76)7.19.1.摘要 (76)7.19.2.描述 (76)7.19.3.替代名称 (76)7.19.4.更动 (76)7.19.5.存取档案库 (76)7.19.6.选项 (76)7.19.7.范例 (77)7.20.svn propget (77)7.20.1.摘要 (77)7.20.2.描述 (77)7.20.3.替代名称 (77)7.20.4.更动 (77)7.20.5.存取档案库 (78)7.20.6.选项 (78)7.20.7.范例 (78)7.21.svn proplist (78)7.21.1.摘要 (78)7.21.2.描述 (78)7.21.3.替代名称 (79)7.21.4.更动 (79)7.21.5.存取档案库 (79)7.21.6.选项 (79)7.21.7.范例 (79)7.22.svn propset (80)7.22.1.摘要 (80)7.22.2.描述 (80)7.22.3.Tip (80)7.22.4.替代名称 (80)7.22.5.更动 (80)7.22.6.存取档案库 (80)7.22.7.选项 (80)7.22.8.范例 (81)7.22.9.Warning (82)7.23.svn resolved (82)7.23.1.摘要 (82)7.23.2.描述 (82)7.23.3.替代名称 (82)7.23.4.更动 (82)7.23.5.存取档案库 (82)7.23.6.选项 (82)7.23.7.范例 (83)7.23.8.Warning (83)7.24.svn revert (83)7.24.1.摘要 (83)7.24.2.描述 (83)7.24.3.替代名称 (84)7.24.4.更动 (84)7.24.5.存取档案库 (84)7.24.6.选项 (84)7.24.7.范例 (84)7.24.8.Warning (85)7.25.svn status (85)7.25.1.摘要 (85)7.25.2.描述 (85)7.25.3.替代名称 (87)7.25.4.更动 (87)7.25.5.存取档案库 (87)7.25.6.选项 (88)7.25.7.范例 (88)7.25.8.Warning (88)7.26.svn switch (89)7.26.1.摘要 (89)7.26.2.描述 (89)7.26.3.替代名称 (89)7.26.4.更动 (89)7.26.5.存取档案库 (90)7.26.6.选项 (90)7.26.7.范例 (90)7.26.8.Tip (91)7.27.svn update (91)7.27.1.摘要 (91)7.27.2.描述 (92)7.27.3.替代名称 (92)7.27.4.更动 (92)7.27.5.存取档案库 (92)7.27.6.选项 (92)7.27.7.范例 (93)7.27.8.Tip (93)1.Svnadmin概述svnadmin 是用来监控与修复 Subversion 档案库的管理工具。
svn merge命令用法
svn merge命令用法
svn merge命令是Subversion版本控制系统中用于将一个分支的更改合并到另一个分支的命令。
它允许开发人员在不同的分支上进行并行开发,并将一个分支上的更改合并到另一个分支,从而保持代码的同步和一致性。
在使用svn merge命令时,需要指定源URL和目标URL,以及要合并的版本范围。
具体的用法如下:
svn merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET]
其中,-c选项表示要合并的指定版本,M[,N...]表示要合并的连续版本范围,-r选项表示要合并的版本范围,N:M表示起始版本和结束版本,SOURCE表示要从哪个URL进行合并,@REV表示要从源URL的哪个版本进行合并,TARGET表示要合并到的目标路径。
例如,如果要将分支A的某个版本的更改合并到主干上,可以使用如下命令:
svn merge -c 12345 ^/branches/A.
这个命令表示将版本号为12345的更改合并到当前目录(主干)中。
另外,svn merge命令还支持一些其他选项,比如--accept选
项用于指定合并冲突时的处理方式,--dry-run选项用于模拟合并
操作而不实际执行,--record-only选项用于记录合并信息而不实
际进行合并操作等。
总之,svn merge命令是用于将一个分支的更改合并到另一个
分支的重要命令,通过合理使用该命令可以有效管理代码的变更和
版本控制。
希望以上回答能够满足你的要求。
svn常用命令总结
SVN命令总结1.检出svn co http://路径(目录或文件的全路径) [本地目录全路径]2.导出(导出一个干净的不带.svn文件夹的目录树)svn export http://路径(目录或文件的全路径) [本地目录全路径] 也可指定要导出的版本号:svn export [-r 版本号]3.添加新文件svn add 文件名注:告诉SVN服务器要添加文件了,还要用svn commit -m真实的上传上去!4.提交svn commit -m “提交备注信息文本”文件名svn ci -m “提交备注信息文本”文件名必须带上-m参数,参数可以为空,但是必须写上-m5.更新文件svn updatesvn update -r 修正版本文件名svn update 文件名6.删除文件svn delete 文件名svn ci -m “删除备注信息文本”7.加锁/解锁svn lock -m “加锁备注信息文本”[--force] 文件名svn unlock 文件名8.比较差异svn diff 文件名svn diff -r 修正版本号m:修正版本号n 文件名9.将两个版本之间的差异合并到当前文件svn merge -r m:n path10.查看文件或者目录状态svn st 目录路径/名svn status 目录路径/名目录下的文件和子目录的状态,正常状态不显示:【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】11.查看日志svn log 文件名svn log ./ | more 查看多条记录 -->按空格键即可显示12.查看文件详细信息svn info 文件名13.svn 帮助svn help <-全部功能选项svn help ci <-具体功能的说明14.递归提交一个路径的拷贝到版本库svn import [PATH] URL15.清除锁定svn cleanup16.查看版本库下的文件和目录列表svn list svn://路径(目录或文件的全路径)svn ls svn://路径(目录或文件的全路径)17.创建纳入版本控制下的新目录mkdir newsubdir 创建新目录svn add --non-recursive newsubdirsvn ci -m “提交备注信息文本”目录名18.恢复本地修改svn revert [--recursive] 文件名注意: 本子命令不会存取网络,并且会解除冲突的状况。
linux下常用的svn操作
1:checkout命令:从svn版本库中取代码时可以先查看具体代码的路径,windows下右键单击Tortoise->repo_browser 可直接查看,linux下可以输入命令:svn list 版本库地址如图:Checkout时命令是:Svn checkout 版本库地址如图:注意在目前的svn版本中必须checkout一个文件夹下来,只checkout单个文件会提示失败。
如图:若想查看svn上某个具体文件,从而决定是否要checkout当前版本下来,可以执行命令:svn cat 文件在版本库上的地址。
下载好代码后可以通过执行ll –a 命令查看文件信息,可以看到在下载好的文件夹下有一个.svn 文件夹,该文件夹是用来维护工作拷贝信息的,保证拥有该文件夹的读写权限,就可以对下载的代码进行commit等一系列操作。
如图:2:commit命令:将本地的修改工作拷贝上传到svn 服务器中,保证版本库的一致具体命令是:svn commit 要上传的文件路径–m “日志信息”如图:日志信息可以为空。
注意提交时需将该文件更新,在上传,否则出错。
若当前上传的文件不是从svn上checkout下来的文件,会提示不是工作副本,无法上传。
3:import 命令:将本地代码上传到版本库中进入到需要上传代码的目录,执行命令:Svn import 想要上传到svn的路径-m “上传的日志信息”–no-ignore如图:注意上传时需添加日志选项-m ,可以为空,并且需要添加选项—no-ignore因为svn上传时会默认屏蔽掉so .o 等文件,导致上传上去的代码不完整,若上传一半出错提示某些文件无法识别,最好将该文件的父文件夹打包上传,就可以成功传上去了。
4:log 命令查看svn版本库的日志信息,具体命令是:Svn log 查看日志信息的文件名如图:5:update命令:将当前文件更新到版本库上某个具体版本文件具体命令是:Svn update –r 要更新的版本号文件路径如图:6:add 命令:往版本库中添加新的文件add 功能:向文件拷贝所在的文件夹中添加新的文件,并作出标识,是新添加的,下一步提交时将一并提交到Subversion版本库中去。
svn全部命令与中文详细解释
----------------------------------------------------------------------SVN 全部命令与中文详细解释:----------------------------------------------------------------------C:\Documents and Settings\Administrator>svn ?用法: svn <subcommand> [options] [args]Subversion 命令行客户端,版本 1.6.6。
使用“svn help <subcommand>”显示子命令的帮助信息。
使用“svn --version”查看程序的版本号和版本库访问模块,或者使用“svn --version --quiet”只查看程序的版本号。
大多数的子命令可接受文件或目录参数,对目录进行递归处理。
如果没有指定参数,默认对当前目录(包含当前目录)递归处理。
可用的子命令:add:把文件和目录纳入版本控制,通过调度加到版本库。
它们会在下一次提交时加入。
blame (praise, annotate, ann):输出指定文件或URL的追溯内容,包含版本和作者信息。
cat:输出指定文件或URL的内容。
changelist (cl):耦合(或解耦)文件与修改列表 CLNAME。
checkout (co):从版本库签出工作副本。
cleanup:递归清理工作副本,删除锁,继续未完成操作,等等。
commit (ci):把工作副本的修改提交到版本库。
copy (cp):在工作副本或版本库中复制数据,保留历史。
delete (del, remove, rm):从版本库中删除文件和目录。
diff (di):显示两个版本或路径的差异。
export:产生一个无版本控制的目录树副本。
help (?, h):描述本程序或其子命令的用法。
subversion 命令
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add*.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit -m"LogMessage"[-N][--no-unlock]PATH(如果选择了保持锁,就使用--no- unlock开关)例如:svn commit -m"add test file for my test"test.php简写:svn ci4、加锁/解锁svn lock -m"LockMessage"[--force]PATH例如:svn lock -m"lock test file"test.phpsvn unlock PATH5、更新到某个版本svn update -r m path例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r200test.php(将版本库中的文件test.php还原到版本200)svn update test.php(更新,于版本库同步。
如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)简写:svn up6、查看文件或者目录状态1)svn status path(目录下的文件和子目录的状态,正常状态不显示)【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】2)svn status -v path(显示文件和子目录状态)第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
svncleanup命令参数
svncleanup命令参数
svn cleanup命令参数
svn cleanup命令参数
SVNcleanup命令是用于清理工作副本中的临时文件和未完成的操作,以修复工作副本中的错误或损坏的命令。
以下是SVN cleanup 命令中常用的参数:
1. --vacuum-pristines 选项:将所有临时文件清理掉、删除未使用的pristine副本。
2. --include-externals选项:包含外部文件的目录和子目录中的所有工作副本。
3. --remove-unversioned选项:删除所有未添加到版本控制的文件和目录。
4. --remove-ignored选项:删除所有被忽略的文件和目录。
5. --fix-timestamps选项:修复工作副本中的时间戳问题。
6. --cleanup-locks选项:清除被锁定的工作副本。
7. --vacuum-free-space选项:释放工作副本中的闲置空间。
以上是SVN cleanup命令的常用参数,可以根据具体情况选择相应的参数来清理工作副本并修复错误。
- 1 -。
svn常用控制台命令解析
svn常⽤控制台命令解析参数说明:serverPath:表⽰服务器的⽂件路径 , localPath:表⽰本地的⽂件路径 , num 表⽰数字, edition1:表⽰⼯程已经跟新的版本1 , edition2:表⽰⼯程已经跟新的版本2 , 1.从服务端导出相应的⼯程与⽂件夹:步骤:先在本地进⼊想要导出到的⽬录下,然后执⾏命令:svn checkout serverPath说明:使⽤此⽅式导出的⼯程⽂件受到svn版本控制与版本库保持关联,⼯程中存在隐藏⽂件.svn,可以进⾏svn的其他操作。
2.从服务器导出相应的单个⽂件,或者⼯程⽂件:步骤:先在本地进⼊想要导出到的⽬录下,然后执⾏命令:svn export serverPath说明:使⽤此⽅式导出的⼯程⼯程⽂件或者单个⽂件夹脱离SVN版本控制,⽆法进⾏其他svn操作。
3.从服务端跟新最新的版本:步骤:先命令进⼊到想要跟新的⼯程,执⾏命令:svn update说明:将本地的⼯程⽂件版本跟新到服务器的最新版本,与服务器保持⼀致,存在冲突风险,因此在进⾏修改前记住update4.显⽰⼯程的跟新⽇志:步骤:先命令进⼊到想要跟新的⼯程,执⾏命令:svn log 或者 svn log | head -n num说明:在终端中打印出⼯程的跟新⽇志,前者命令显⽰所有的⽇志,后者表⽰显⽰⽇志的前 num ⾏,可写10,建议使⽤后者。
实例:------------------------------------------------------------------------r1975 | 账号 | 2016-05-26 10:38:46 +0800 (四, 26 5 2016) | 2 lines //r1975 表⽰版本号,账号表⽰版本提交⼈的账号名称 ,表⽰提交时间,表⽰提交时注释的⾏数,默认1 1.红外超时处理2。
⼈脸识别拍照的照⽚传递给业务程序5.在终端显⽰⼯程已经跟新的两个版本之间的不同步骤:先命令进⼊到想要跟新的⼯程,执⾏命令:svn diff -r edition1:edition2说明:先通过log命令获取跟新⽇志以及版本号,终端中显⽰两个版本的不同,⽤于查看详细的更改内容,显⽰列表前带+的表⽰后⼀个版本所更新的内容,-表⽰前⼀版本减少的6.将新添加⼊⼯程的⽂件或者⽂件夹添加到svn的版本控制步骤:先命令进⼊到你所要添加⼊svn版本的⽂件所在的⽬录(注意),执⾏命令:svn add ⽂件夹名称说明:⾸先注意⽬录,所有你新增⼊⼯程的⽂件都需要add进⼊版本控制才能再提交,否则影响他⼈,⽂件夹名称表⽰⽂件的全名(包括后缀)或者⽂件夹的全名,添加⽂件夹时只要添加最外层⼀个就好7.将本地更改的⼯程提交到服务器步骤:先命令进⼊到想要跟新的⼯程,执⾏命令:svn commit - m "说明"说明:请先注意有没有将新⽂件add进⼊版本控制,再提交,提交时可能也会产⽣冲突,这需要⽤户在更改前先update确保是服务器最新版本,"说明"表⽰你对与本次跟新相⽐于前⼀个版本的修改内容总结,其中双引号使⽤英⽂的.8.查看服务器端的⽂件内容步骤:执⾏命令:svn list serverPath说明:终端显⽰服务器端 serverPath 路径下的所有⽂件列表信息,⽤于查看别⼈提交时是否提交了完整的内容9.显⽰svn所有操作命令步骤:执⾏命令:svn help说明:终端显⽰svn所有⽀持的命名,然后分别去百度喽。
SVN命令大全
目录1、将文件CHECKOUT到本地目录 (2)2、往版本库中添加新的文件 (2)3、将改动的文件提交到版本库 (2)4、加锁/解锁 (2)5、更新到某个版本 (2)6、查看文件或者目录状态 (2)7、删除文件 (3)8、查看日志 (3)9、查看文件详细信息 (3)10、比较差异 (3)11、将两个版本之间的差异合并到当前文件 (3)12、SVN帮助 (3)13、版本库下的文件和目录列表 (4)14、创建纳入版本控制下的新目录 (4)15、恢复本地修改 (4)16、代码库URL变更 (4)17、解决冲突 (4)18、输出指定文件或URL的内容。
(5)1、将文件CHECKOUT到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有的php文件)3、将改动的文件提交到版本库svn commit -m “LogMessage” [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock 开关)例如:svn commit -m “add test file for my test” test.php简写:svn ci4、加锁/解锁svn lock -m “LockMessage” [--force] PATH例如:svn lock -m “lock test file” test.phpsvn unlock PATH5、更新到某个版本svn update -r m path例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)svn update test.php(更新,于版本库同步。
TortoiseSVN客户端命令
TortoiseSVN客户端命令1、Checkout⾸先要Checkout服务器端的Repository,所谓的Checkout就是指获得服务器端指定的Repository存储的所有⽂件。
Checkout的具体⽅式是:在客户端新建⼀个空⽬录,⽐如:F:\Project1 (确保是空的)在该⽬录上单击右键,在弹出式菜单中选中SVN Checkout...,之后按要求录⼊内容:然后点OK,会弹出⼀个认证对话框,输⼊⽤户名和密码。
点OK后就完成了对Repository的Checkout。
检出后,所有检出⽂件上都打着绿⾊对勾:2、update获取版本库中最新版本,具体的⽅法是:在WC⽬录上单击右键,SVN Update。
这时WC中的⽂件就是最新的版本了。
3、commitcommit功能就是将你本地的⽂件修改记录上传到服务器上⾯,可以理解为上传。
只会上传原先checkout然后⼜被修改了的⽂件,假如你新加⼊了某些⽂件,需要右键点击⽂件选择Add,然后⽂件上⾯会出现⼀个加号,在下次commit的时候才能选到该⽂件。
commit页⾯:注意:commit的时候,最好填写Log信息,Log内容包括:修改了哪些东西及为什么做这些修改(what+why)强制必须录⼊log: property 中设置录⼊log最⼩长度,此时commit必须录⼊log,否则不允许提交.设置录⼊log最⼩长度页⾯:4、add将要添加的⽂件或者⽬录拷贝到WC下,然后在该⽂件或⽬录上单击右键,TortoiseSVN->Add,点OK。
如果添加了不⽌⼀个⽂件或⽬录,则⿏标不要在WC中点中任何⽂件,然后单击右键,TortoiseSVN->Add,就可以添加多个⽂件或⽬录。
这时⽂件的状态图标会发⽣如下变化:Add命令只是告诉本地的WC将该⽂件纳⼊版本管理,并没有将这个改变提交到服务器端,在F:\Project1下单击右键,SVN Commit...,将你所做的修改提交到Repository。
SVN版本回退与常用命令总结
SVN版本回退与常⽤命令总结⼀、SVN 版本回退三种⽅法:“Update item to this version”,“Revert to this version”,“Revert changes from this version”,在讲解这三个选项的作⽤之前,我们还是先来假定⼀个使⽤情景,假设我们的项⽬⽂件⼀共有8个版本,它版本号分别是1,2,3,4,5,6,7,8。
Update item to this version这个选项的作⽤是将⽂件版本更新到对应所选的版本(当然内容也修改到了相应的版本)。
如果我们是在版本4这⾥点击“Update item to this version”,表⽰5~8版本所作的修改全部作废,这个⽂件的历史回退到了版本4那个时代,但是需要注意的是,此时⽂件的版本是4,并不是最新的。
我们知道SVN⼯具中如果⽂件不是最新版本就⽆法上传,所以说这个功能只是⽤来暂时还原⼀下版本,来查询某个问题的,不能将还原后的⽂件上传。
Revert to this version这个选项的作⽤是将⽂件的内容更新到对应的版本,版本号没有发⽣变化。
如果我们是在版本4这⾥点击“Revert to this version”,表⽰5~8版本所作的修改全部被还原,⽂件和版本4的⽂件⼀模⼀样,但需要注意的是这项操作相当于我们把版本4这个⽂件拷贝了⼀份赋值给了当前⽬录下的⽂件,此时的⽂件版本还是8,并且是可以提交的,提交以后⽂件的版本变成了9,增加了⼀个新的版本,虽然这个版本和版本4的内容是⼀样的。
Revert changes from this version这个选项的作⽤是将对应版本的修改还原,⽂件的版本号不发⽣变化,相当于在当前本版本上剔除某些版本所作的改变。
如果我们是在版本4这⾥点击“Revert changes from this version”,表⽰版本4所作的修改被抹杀了,只剩下除版本4以外的7个修改了,但是此时⽂件是可以上传的,并且会⽣成新的版本9,只是版本9只包括除版本4以外的7次修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
svn命令通常都有帮助,可通过如下方式查询:$ svn help知道了子命令,但是不知道子命令的用法,还可以查询:$ svn help add开发人员常用命令(1) 导入项目$ cd ~/project$ mkdir -p svntest/{trunk,branches,tags}$ svn import svntest https://localhost/test/svntest --message "Start project"...$ rm -rf svntest我们新建一个项目svntest,在该项目下新建三个子目录:trunk,开发主干;branches,开发分支;tags,开发阶段性标签。
然后导入到版本库test下,然后把svntest拿掉。
(2) 导出项目$ svn checkout https://localhost/test/svntest/trunk修订版本号的指定方式是每个开发人员必须了解的,以下是几个参考例子,说明可参考svn推荐书。
$ svn diff --revision PREV:COMMITTED foo.c# shows the last change committed to foo.c$ svn log --revision HEAD# shows log message for the latest repository commit$ svn diff --revision HEAD# compares your working file (with local changes) to the latest version # in the repository$ svn diff --revision BASE:HEAD foo.c# compares your “pristine” foo.c (no local changes) with the# latest version in the repository$ svn log --revision BASE:HEAD# shows all commit logs since you last updated$ svn update --revision PREV foo.c# rewinds the last change on foo.c# (foo.c's working revision is decreased)$ svn checkout --revision 3# specified with revision number$ svn checkout --revision {2002-02-17}$ svn checkout --revision {15:30}$ svn checkout --revision {15:30:00.200000}$ svn checkout --revision {"2002-02-17 15:30"}$ svn checkout --revision {"2002-02-17 15:30 +0230"}$ svn checkout --revision {2002-02-17T15:30}$ svn checkout --revision {2002-02-17T15:30Z}$ svn checkout --revision {2002-02-17T15:30-04:00}$ svn checkout --revision {20020217T1530}$ svn checkout --revision {20020217T1530Z}$ svn checkout --revision {20020217T1530-0500}(3) 日常指令$ svn update$ svn add foo.file$ svn add foo1.dir$ svn add foo2.dir --non-recursive$ svn delete README$ svn copy foo bar$ svn move foo1 bar1$ svn status$ svn status --verbose$ svn status --verbose --show-updates$ svn status stuff/fox.c$ svn diff$ svn diff > patchfile$ svn revert README$ svn revert修改冲突发生时,会生成三个文件:.mine, .rOLDREV, .rNEWREV。
比如:$ ls -lsandwich.txtsandwich.txt.minesandwich.txt.r1sandwich.txt.r2解决修改冲突方式之一:修改冲突的文件sandwich.txt,然后运行命令:$ svn resolved sandwich.txt方式之二:用库里的新版本覆盖你的修改:$ cp sandwich.txt.r2 sandwich.txt$ svn resolved sandwich.txt方式之三:撤销你的修改,这种方式不需要运行resolved子命令:$ svn revert sandwich.txtReverted 'sandwich.txt'$ ls sandwich.*sandwich.txt确保没问题后,就可以提交了。
$ svn commit --message "Correct some fatal problems"$ svn commit --file logmsg$ svn commit(4) 检验版本历史$ svn log$ svn log --revision 5:19$ svn log foo.c$ svn log -r 8 -v$ svn diff$ svn diff --revision 3 rules.txt$ svn diff --revision 2:3 rules.txt$ svn diff --revision 4:5/repos/example/trunk/text/rules.txt$ svn cat --revision 2 rules.txt$ svn cat --revision 2 rules.txt > rules.txt.v2$ svn list /repos/svn$ svn list --verbose /repos/svn$ svn checkout --revision 1729 # Checks out a new working copy at r1729 …$ svn update --revision 1729 # Updates an existing working copy to r1729 …(5) 其他有用的命令svn cleanup为失败的事务清场。
(6) 分支和合并建立分支方法一:先checkout然后做拷贝,最后提交拷贝。
$ svn checkout /repos/calc bigwcA bigwc/trunk/A bigwc/trunk/MakefileA bigwc/trunk/integer.cA bigwc/trunk/button.cA bigwc/branches/Checked out revision 340.$ cd bigwc$ svn copy trunk branches/my-calc-branch$ svn statusA + branches/my-calc-branch$ svn commit -m "Creating a private branch of /calc/trunk."Adding branches/my-calc-branchCommitted revision 341.建立分支方法二:直接远程拷贝。
$ svn copy /repos/calc/trunk \/repos/calc/branches/my-calc-branch \-m "Creating a private branch of /calc/trunk."Committed revision 341.建立分支后,你可以把分支checkout并继续你的开发。
$ svn checkout/repos/calc/branches/my-calc-branch假设你已经checkout了主干,现在想切换到某个分支开发,可做如下的操作:$ cd calc$ svn info | grep URLURL: /repos/calc/trunk$ svn switch /repos/calc/branches/my-calc-branch U integer.cU button.cU MakefileUpdated to revision 341.$ svn info | grep URLURL: /repos/calc/branches/my-calc-branch合并文件的命令参考:$ svn diff -r 343:344 /repos/calc/trunk$ svn merge -r 343:344 /repos/calc/trunk$ svn commit -m "integer.c: ported r344 (spelling fixes) from trunk." $ svn merge -r 343:344 /repos/calc/trunkmy-calc-branch$ svn merge /repos/branch1@150 \/repos/branch2@212 \my-working-copy$ svn merge -r 100:200 /repos/trunkmy-working-copy$ svn merge -r 100:200 /repos/trunk$ svn merge --dry-run -r 343:344 /repos/calc/trunk 最后一条命令仅仅做合并测试,并不执行合并操作。
建立标签和建立分支没什么区别,不过是拷贝到不同的目录而已。
$ svn copy /repos/calc/trunk \/repos/calc/tags/release-1.0 \-m "Tagging the 1.0 release of the 'calc' project."$ lsmy-working-copy/$ svn copy my-working-copy /repos/calc/tags/mytag Committed revision 352.后一种方式直接把本地的工作拷贝复制为标签。