SVN 查看历史信息命令及用法

合集下载

SVN常用命令(WINDOWS)

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命令行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我们新建一(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。

svn log 参数

svn log 参数

svn log 参数SVN Log参数介绍SVN是一种版本控制系统,它允许开发人员协同工作并跟踪文件的变化。

在使用SVN时,经常需要使用log命令来查看版本库的提交历史记录。

log命令有多个参数,本文将介绍常用的SVN log参数及其用法。

1. -r 参数-r 参数用于指定要查看的版本范围。

可以使用单个版本号,例如-r 10,表示查看版本号为10的提交记录。

也可以使用版本范围,例如-r 5:10,表示查看版本号从5到10的提交记录。

还可以使用HEAD关键字,表示查看最新版本的提交记录。

例如-r HEAD,表示查看最新版本的提交记录。

2. -l 参数-l 参数用于指定要显示的提交记录数量。

例如-l 5,表示显示最近的5条提交记录。

如果不指定-l参数,默认显示最近的10条提交记录。

3. -v 参数-v 参数用于显示详细的提交记录信息。

每条记录包括版本号、作者、提交日期和时间、提交注释等详细信息。

例如-v 10,表示显示版本号为10的详细提交记录。

4. -q 参数-q 参数用于精简输出,只显示提交记录的版本号和提交注释。

例如-q 10,表示只显示版本号为10的提交记录的版本号和提交注释。

5. --limit 参数--limit 参数用于限制显示的提交记录数量。

例如--limit 20,表示限制显示最多20条提交记录。

如果不指定--limit参数,默认显示所有的提交记录。

6. --stop-on-copy 参数--stop-on-copy 参数用于在查看提交历史记录时停止显示。

当版本库中存在分支或拷贝时,使用--stop-on-copy参数可以只显示分支或拷贝的起始版本之前的提交记录。

例如--stop-on-copy,表示只显示分支或拷贝的起始版本之前的提交记录。

7. --search 参数--search 参数用于搜索提交注释中包含指定关键字的提交记录。

例如--search "bug fix",表示搜索提交注释中包含"bug fix"关键字的提交记录。

svn用户操作手册

svn用户操作手册

svn用户操作手册SVN(Subversion)是一个版本控制系统,用于管理文件的版本和变更历史。

以下是SVN用户操作手册:1. 检出代码:打开控制台,输入“svn checkout [服务目录] [本地目录全路径] --username 用户名 --password 密码”。

其中,[服务目录]是你要检出的代码所在的SVN仓库地址,[本地目录全路径]是你要将代码检出到的本地路径。

2. 添加新文件:使用“svn add 文件名”命令将新文件添加到版本库中。

如果要添加多个文件,可以使用通配符“.扩展名”来批量添加,例如“svn add .txt”将添加所有扩展名为.txt的文件。

3. 提交修改:使用“svn commit -m 提交信息”命令将修改的代码提交到仓库中。

其中,“-m”参数后面跟着提交信息,简要描述你做了哪些修改。

4. 更新代码:使用“svn update”命令将当前目录以及子目录下的所有文件都更新到最新版本。

如果要更新特定文件,可以使用“svn update [文件路径]”命令。

5. 比较代码:使用“svn diff”命令比较当前文件与版本库中的文件差异。

如果要比较不同版本的差异,可以使用“svn diff -r [版本号] [文件路径]”命令。

6. 分支操作:创建分支使用“svn copy [源路径] [目标路径] -m 创建分支信息”。

其中,[源路径]是你要创建分支的分支或主线的位置,[目标路径]是分支的名称。

合并分支使用“svn merge [源分支路径] [目标分支路径]”。

其中,[源分支路径]是要合并的分支的路径,[目标分支路径]是合并的目标位置。

7. 查看历史记录:使用“svn log [文件或目录路径]”命令查看指定文件或目录的历史记录。

8. 标签操作:创建标签使用“svn copy [源路径] [目标路径] -m 创建标签信息”。

其中,[源路径]是你要创建标签的分支或主线的位置,[目标路径]是标签的名称。

linux下常用的svn操作

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版本库中去。

TortoiseSVN客户端常用命令详解

TortoiseSVN客户端常用命令详解

TortoiseSVN客户端常用命令详解1、Checkout首先要Checkout服务器端的Repository,所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。

Checkout的具体方式是:在客户端新建一个空目录,比如:F:\Project1 (确保是空的)在该目录上单击右键,在弹出式菜单中选中SVN Checkout...,之后按要求录入内容:然后点OK,会弹出一个认证对话框,输入用户名和密码。

点OK后就完成了对Repository的Checkout。

检出后,所有检出文件上都打着绿色对勾:命令方式检出1:在DOS命令中输入需要检出的目录:http://192.168.1.210:8081/svn/svnproject/Knowledge2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图: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,就可以添加多个文件或目录。

svn ls 用法 -回复

svn ls 用法 -回复

svn ls 用法-回复SVN(Subversion)是一种集中式版本控制系统,它被广泛用于软件开发过程中进行版本管理和代码协作。

在SVN中,svn ls是一个非常重要的命令,用于列出指定目录下的文件和子目录。

本文将详细介绍svn ls的用法,并提供一步一步的回答。

一、svn ls的基本用法1. 查看当前目录下的文件和子目录要列出当前目录下的所有文件和子目录,可以使用以下命令:svn ls该命令会列出当前目录下的所有文件和子目录的名称。

2. 查看指定目录下的文件和子目录如果需要列出指定目录下的所有文件和子目录,可以在svn ls后面加上目录的路径。

例如:svn ls /path/to/directory其中"/path/to/directory"是指定的目录路径。

3. 查看指定版本下的文件和子目录除了可以列出当前版本下的文件和子目录外,svn ls还可以指定要查看的版本。

使用-r参数后跟指定的版本号即可。

例如:svn ls -r 10该命令会列出版本号为10的文件和子目录。

二、使用示例下面将结合几个使用示例来说明svn ls的用法。

示例一:列出当前目录下的文件和子目录假设当前工作目录为"/project",使用以下命令可以列出该目录下的所有文件和子目录:svn ls该命令的输出结果可能如下所示:file1.txtfile2.txtdirectory1/directory2/示例二:列出指定目录下的文件和子目录假设需要查看"/project/directory1"目录下的文件和子目录,可以使用以下命令:svn ls /project/directory1该命令的输出结果可能如下所示:file3.txtfile4.txtsubdirectory/示例三:列出指定版本下的文件和子目录假设需要查看版本号为5的文件和子目录,则可以使用以下命令:svn ls -r 5该命令的输出结果可能如下所示:file5.txtfile6.txtdirectory3/三、高级用法除了上述基本用法外,svn ls还支持一些高级用法。

svn全部命令与中文详细解释

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):描述本程序或其子命令的用法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 在两个不同的版本之间的差异。

TARGET 要么全是工作副本路径,要么全是URL。

如果TARGET 是工作副本路径,N 默认为BASE,M 默认为工作副本;如果TARGET 是URL,N 必须指定,M 默认为HEAD。

“-c M”等价于“-r M-1:M”,“-c -M”等价于“-r M:M-1”。

2、显示新旧版本中对应目标的差异。

PA TH 是相对于新旧目标的相对路径,它限制只输出这些路径上的差异。

新旧目标可以是工作副本路径或地址URL[@REV]。

新目标默认与旧目标相同,OLDREV 默认为N,NEWREV 默认为M。

3、“svn diff --old=OLD-URL[@OLDREV] --new=NEW-URL[@NEWREV]”的简写。

使用不加参数的“svn diff”显示工作副本中的本地修改。

有效选项:-r [--revision] ARG : ARG (一些命令也接受ARG1:ARG2范围)版本参数可以是如下之一:NUMBER 版本号'{' DA TE '}' 在指定时间以后的版本'HEAD' 版本库中的最新版本'BASE' 工作副本的基线版本'COMMITTED' 最后提交或基线之前'PREV' COMMITTED的前一版本-c [--change] ARG : 在ARG版本(如同-r ARG-1:ARG)作的修改如果ARG为负数则等价于-r ARG:ARG-1 --old ARG :使用ARG 作为旧目标--new ARG : 使用ARG 作为新目标-N [--non-recursive] : 过时;尝试--depth=files 或--depth=immediates--depth ARG : 受深度参数ARG(“empty”,“files”,“immediates”,或“infinity”) 约束的操作--diff-cmd ARG : 使用ARG 作为比较命令-x [--extensions] ARG : 缺省: “-u”。

当Subversion 调用外部比较程序时,ARG 直接传给它。

但是当Subversion 使用缺省的内置比较实现,或者正显示追溯时, ARG 可以是:-u (--unified):输出三行统一上下文。

-b (--ignore-space-change):忽略空白数量的修改。

-w (--ignore-all-space):忽略所有的空白。

--ignore-eol-style:忽略行尾样式的改变。

-p (--show-c-function):在比较输出中显示C 函数名称。

--no-diff-deleted : 不要输出删除文件造成的差异--notice-ancestry : 比较差异时提示原始信息--summarize : 显示结果的概要--changelist ARG : 只能对修改列表ARG 成员操作[aliases: --cl]--force : 强制操作运行--xml : 输出为XML全局选项:--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:如果用svn diff,不带任何参数,它将会比较你的工作文件与缓存在.svn的“原始”拷贝Svn diffIndex:rules.txt============================================================--- rules.txt (revision 3)+++ rules.txt (working copy)@@ -1,4 +1,5 @@Be kind to othersFreedom = ResponsibilityEverything in moderation-Chew with your mouth open实例2:比较工作拷贝和版本库svn diff -r 3 rule.txt,就是比较你的工作拷贝和版本库中版本号为3的文件rule.txt 实例3:比较版本库与版本库通过-r(revision)传递两个通过冒号分开的版本号,这两个版本会进行比较svn diff -r 2:3 rule.txt 用来比较svn工作版本中版本号2和3的这个文件的变化(三)svn cat如果只是希望检查一个过去版本,不希望查看他们的区别,可使用svn catsvn cat -r 版本号rule,txt这个命令会显示在该版本号下的该文件内容(四)svn listsvn list可以在不下载文件到本地目录的情况下来察看目录中的文件:svn list /repos/svnREADMEbranches/clients/tags/基本使用34trunk/如果你希望察看详细信息,你可以使用--verbose(-v) 参数:svn list -v /repos/svn20620 harry 1084 Jul 13 2006 README23339 harry Feb 04 01:40 branches/21282 sally Aug 27 09:41 developer-resources/23198 harry Jan 23 17:17 tags/23351 sally Feb 05 13:26 trunk/。

相关文档
最新文档