SVN常用命令说明

TortoiseSVN 命令

E.2.1. 检出

svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH

The depth combo box items relate to the -depth argument.
如果希望忽略外部被选中,使用–ignore-externals选型。
如果你正在检出特定的修订版本,在URL后使用-r指定。

E.2.2. 更新

svn info URL_of_WC
svn update [-r rev] PATH

更新多个项目在Subversion还不是原子操作,所以TortoiseSVN会首先找到版本库的HEAD修订版本,然
后将所有项目更新到特定修订版本,防止出现混合修订版本的工作副本。
如果只有一个项目被选中更新,或选中的项目来自不同的版本库,TortoiseSVN只会更新到HEAD。
没有使用命令行选项,更新到修订版本也实现了更新命令,但提供了更多的选项。

E.2.3. 更新到版本命令行交叉索引

svn info URL_of_WC
svn update [-r rev] [-depth ARG] [--ignore-externals] PATH

The depth combo box items relate to the -depth argument.
如果希望忽略外部被选中,使用–ignore-externals选型。

E.2.4. 提交

在TortoiseSVN,提交对话框使用Subversion命令,第一部分是检查工作副本哪些文件可能被提交,然
后你可以检查列表,比较与BASE的区别,选择你希望提交包含的项目。

svn status -v PATH

如果选择了显示未版本控制的文件,TortoiseSVN会遵循忽略规则显示工作目录中所有未版本控制的文
件和文件夹。这个特性在Subversion中没有等价操作,因为svn status 命令不扫描未版本控制的文件
夹。
如果你选择了未版本控制的文件和文件夹,这些项目都会先增加到你的工作副本。

svn add PATH...

当你点击确认,开始执行Subversion提交。如果你不修改所有的文件检查框,TortoiseSVN 会递归提交
工作副本。如果你取消选择一些文件,那么就必须使用非递归提交 (-N) ,每个路径都必须在命令行上
单独指定。

svn commit -m "LogMessage" [-depth ARG] [--no-unlock] PATH...

日志消息是日志编辑框的内容。它可以为空。
如果选择了保持锁,就使用–no-unlock开关。

E.2.5. 差异

svn diff PATH

If you use Diff from the main context menu, you are diffing a modified file against its
BASE revision. The output from the CLI command above also does this and produces output
in unified-diff format. However, this is not what TortoiseSVN is using. TortoiseSVN uses
TortoiseMerge (or a diff program of your choosing) to display differences visually between
full-text files, so there is no direct CLI equivalent.
你可以使用TortoiseSVN,比较任意两个文件的差异,不管他们是否受版本控制。TortoiseSVN只是把这
两个文件传递给已经选择的比较差异程序,让它比较差异。

E.2.6. 显示日志

svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH
或
svn log -v -r M:N [--stop-on-copy] PATH命令行交叉索引

默认情况下,TortoiseSVN尝试用–limit方法取得100个日志消息。如果设置了让它使用旧借口,那么
就使用第二种个是获得100个日志消息。
如果选择了停止于复制/改名,就使用–stop-on-copy开关。

E.2.7. 检查修改

svn status -v PATH

svn status -u -v PATH

只在你的工作副本执行初始的状态检查。如果你点击检查版本库,那么也检查版本库,察看哪些文件会
被更新操作修改,它需要-u开关。
如果选择了显示未版本控制的文件,TortoiseSVN会遵循忽略规则显示工作目录中所有未版本控制的文
件和文件夹。这个特性在Subversion中没有等价操作,因为svn status 命令不扫描未版本控制的文件
夹。

E.2.8. 版本图

版本图是TortoiseSVN特有的,命令行客户端没有等价实现。
What TortoiseSVN does is an

svn info URL_of_WC
svn log -v URL

where URL is the repository root and then analyzes the data returned.

E.2.9. 版本库浏览器

svn info URL_of_WC
svn list [-r rev] -v URL

你可以使用svn info检查版本库的根,它在版本库浏览器的顶级显示。你不能浏览它的上级目录。同
样,这个命令返回所有显示在版本库浏览器的锁信息。
给出URL和可选的版本号,svn list列出目录中的内容。

E.2.10. 编辑冲突

这个命令没有控制台等价实现。它调用TortoiseMerge或者外部三路差异/合并工具察看棘手的冲突,挑
选出冲突行。

E.2.11. 已解决

svn resolved PATH

E.2.12. 改名

svn rename CURR_PATH NEW_PATH命令行交叉索引

E.2.13. 删除

svn delete PATH

E.2.14. 恢复

svn status -v PATH

首先开始状态检查,察看你的工作副本有哪些项目可以被撤销。你可以复审文件列表,检查这些文件的
修改,然后选择你要撤销的项目。
当你点击确认时,开始Subversion撤销操作。如果你不修改所有的文件检查框,TortoiseSVN 会递归撤
销 (-R)工作副本的修改。如果你取消选择一些文件,那么就必须使用非递归撤销 ,每个路径都必须在
命令行上单独指定。"

svn revert [-R] PATH...

E.2.15. 清理

svn cleanup PATH

E.2.16. 获得锁

svn status -v PATH

首先开始状态检查,察看你的工作副本有哪些项目可以被加锁。你可以选择想加锁的项目。

svn lock -m "LockMessage" [--force] PATH...

加锁信息是加锁编辑框的内容。它可以为空。"
如果选择了强制锁定 ,就使用–force开关。

E.2.17. 释放锁

svn unlock PATH

E.2.18. 分支/标记

svn copy -m "LogMessage" URL URL

svn copy -m "LogMessage" URL@rev URL@rev

或命令行交叉索引

svn copy -m "LogMessage" PATH URL

分支/标签对话框在版本库执行复制。有三个单选按钮:
• 版本库中的最新版本
• 指定版本库中的版本
• 工作副本
对应上面的三个命令行参数。
日志消息是日志编辑框的内容。它可以为空。

E.2.19. 切换

svn info URL_of_WC
svn switch [-r rev] URL PATH

E.2.20. 合并

svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH

测试合并与使用–dry-run选项的合并相同。
svn diff From_URL@revN To_URL@revM
Unified diff显示了用来合并的区别操作。

E.2.21. 输出

svn export [-r rev] [--ignore-externals] URL Export_PATH

这个形式是当从一个未版本控制目录访问,并且文件夹作为目标。
导出一个工作副本到一个目录没有使用Subversion的库,所以没有等同的命令行匹配。
TortoiseSVN做的只是将所有文件复制到一个新的位置,并且会显示操作的过程。未版本控制的文件/文
件夹也可以被导出。
在两种情况下,如果Omit externals被选中,就相当于使用了–ignore-externals选项。

E.2.22. 重新定位

svn switch --relocate From_URL To_URL

E.2.23. 在当前位置创建版本库

svnadmin create --fs-type fsfs PATH命令行交叉索引

E.2.24. 添加

svn add PATH...

如果选择了一个文件夹,TortoiseSVN会首先会递归的访问可以添加的条目。

E.2.25. 导入

svn import -m LogMessage PATH URL

日志消息是日志编辑框的内容。它可以为空。

E.2.26. 追溯

svn blame -r N:M -v PATH
svn log -r N:M PATH

如果你使用TortoiseBlame来查看追溯信息,文件日志也需要在工具提示上显示日志信息,如果你以文
件方式查看追溯,这个信息是不需要的。

E.2.27. 加入忽略列表

svn propget svn:ignore PATH > tempfile
{edit new ignore item into tempfile}
svn propset svn:ignore -F tempfile PATH

因为svn:ignore属性通常是多行的,这里是通过文件显示所修改的内容,而不是直接使用命令行操作。

E.2.28. 创建补丁

svn diff PATH > patch-file
TortoiseSVN通过比较工作拷贝和基础版本(BASE version),使用统一的diff(差异)格式创一个补丁文
件。

E.2.29. 应用补丁(Apply Patch)

如果补丁和工作副本不是同一版本的话,那么应用补丁会是一件很棘手的事情。幸运的是,你可以使用
TortoiseMerge(在Subversion中没有等同的工具)。209

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值