导航:首页 > 程序命令 > svn命令行使用方法

svn命令行使用方法

发布时间:2022-10-19 18:09:15

① 怎么才能使用svn命令 linux

首先要先下载svn。
输入:sudo apt-get install subversion

接下来就可以使用SVN了。
先检出服务器上的文件。本经验再SAE上搭建了一个wordpress,所以在这里以此为例。
输入:svn checkout 地址

上传新文件。现在本地上把新文件复制到项目文件夹中。
再在项目目录中输入:
svn add 文件名
svn commit -m "备注"

如果要修改代码,可以直接再本地上修改,然后上传。
输入:svn commit -m "备注"

要删除文件则输入:
svn delete 文件名
svn commit -m "备注"

如果是误删了文件
直接 svn up 或者 svn revert -r version
还有更详细的介绍可以看相关的中文文档。

② svn如何使用

svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,

本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。

工具/原料
Subversion服务器程序安装包

Subversion的Windows客户端TortoiseSVN安装包

方法/步骤
1软件下载

<1>、下载Subversion服务器程序

到官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择Apache 2.0 或者 Apache 2.2,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1.7.12.msi 。

<2>、下载Subversion的Windows客户端TortoiseSVN。

TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi。

2svn服务器和客户端安装

<1>、安装Subversion,直接运行Setup-Subversion-1.5.3.msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

<2>、安装TortoiseSVN,同样直接运行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

<3>、安装svn的客户端程序,需要的话还可以安装svn的语言包,注意语言包的版本也必须与客户端程序的版本一致

3建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository

就会在目录E:\svndemo\repository下创建一个版本库。

我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svndemo\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。

步骤阅读 .4SVN配置用户和权限

来到E:\svndemo\repository\conf目录,修改svnserve.conf:

# [general]
# password-db = passwd
改为:
[general]
password-db = passwd

然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret

在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。

步骤阅读 .5运行独立服务器

在任意目录下运行:
svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

6初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\initproject,目录下有一个readme.txt文件:

右键->TortoiseSVN->Import...
在URL of repository输入“svn://localhost/trunk”
在Import Message中输入你的日志信息

完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。

步骤阅读 .7基本客户端操作

取出版本库到一个工作拷贝:

来到任意空目录下,在本例中是E:\svndemo\wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。

在工作拷贝中作出修改并提交:

打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。

察看所作的修改:

readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working ,我们可以比较工作拷贝的文件和版本1的区别。

最后,所有的内容都已经录制为动画文件,大家可以参考。

关于本教程大家有什么意见,可以这里讨论 。

如果更新文件以后,有两个人或者多个人同时修改了某个文件的某个位置,是否冲突,(一般不会这样子,因为上传的版本是可以编译通过的,而且每个人负责自己的模块,不会多人独立修改同一个文件,别人也是先更新,后上传修改,,,,)

开发者习惯性动作。早上上班第一件事就是更新svn版本库,再开始一天的工作。

晚上下班,或者其他时候要上传东西可以直接上传因为你负责的东西没人去修改。

冲突是怎么产生的呢:因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更新就会出现代码冲突问题。最好不要多人同时修改一个文件,公用的文件,更改之前要和大家沟通一下,或者解决冲突 呵呵

先更新,没有冲突,再提交。有冲突,解决冲突再提交。否则也提交不了。

对于一些处于冲突状态下的文件 ,右键TortoiseSVN ->Resolved,解决冲突。解决冲突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html

更新-解决冲突-删掉以下三个文件-提交(如果自己没有修改的文件有冲突,删除再更新即可,自己修改的文件解决冲突)

test.php.mine 是冲突前自己的文件

test.php.版本号 是冲突前本地的版本文件

test.php.服务器的版本号 是冲突后服务器版本文件

END注意事项
如果修改文件后提交不了,大多是因为版本不一致造成的。更新一下,不产生冲突的情况,就可以提交了。

更新文件,如果出现冲突的情况,打开冲突文件test.php会看到类似以下的内容

<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>

结合别人修改的内容和自己修改的内容,然后把文件中的<<<<<,=====,>>>>>>>这类冲突符号去掉。去掉后,还是不能提交的,为什么?因为冲突时会产生三个文件,有这三个文件存在肯定提交不了。

客户端用的tortoisesvn(这个估计程序员用的最多),冲突时会多产生,三个文件

test.php.mine 是冲突前自己的文件

test.php.版本号 是冲突前本地的版本文件

test.php.服务器的版本号 是冲突后服务器版本文件

提交的时候,把这三个文件删除掉就可以提交了。

产生覆盖的原因。

a),在修改冲突文件test.php时,把别人代码都删除掉了,只留下了自己的代码。这样就会产生覆盖了。

b),把test.php.mine中的内容直接到test.php文件,这样也会产生代码覆盖。

上面二种情况都是我亲眼看到新手这样操作的,要避免这二种操作方法。

③ 如何用命令行实现TortoiseSVN命令

TortoiseSVN是一个GUI客户端,这个自动化指导为你展示了让TortoiseSVN对话框显示并收集客户输入,如果你希望编写不需要输入的脚本,你应该使用官方的Subversion命令行客户端。
TortoiseSVN的GUI程序叫做TortoiseProc.exe。所有的命令通过参数/command:asdf指定,其中asdf是必须的命令名(命令名详见”表 1. 有效命令及选项列表“)。大多数此类命令至少需要一个路径参数,使用/path:"some\path"指定。在下面的命令表格中,命令引用的是/command:asdf参数,余下的代表了/path:"some\path"参数。
因为一些命令需要一个目标路径的列表(例如提交一些特定的文件),/path参数可以接收多个路径,使用*分割。
TortoiseSVN 使用临时文件在 shell 扩展和主程序之间传递多个参数。从 TortoiseSVN 1.5.0 开始,废弃/notempfile参数,不再需要增加此参数。
The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses theOK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.
To specify a different location of the configuration file, use the parameter /configdir:"path\to\config\directory". This will override the default path, including any registry setting.
如果想在进度对话框执行完毕后自动关闭,而又不必设置永久性的参数,可以传递/closeonend参数。
/closeonend:0 不自动关闭对话框
/closeonend:1 如果没发生错误则自动关闭对话框
/closeonend:2 如果没发生错误和冲突则自动关闭对话框
/closeonend:3如果没有错误、冲突和合并,会自动关闭
下面的列表列出了所有可以使用TortoiseProc.exe访问的命令,就像上面的描述,必须使用/command:asdf的形式,在列表中,因为节省空间的关系省略了/command的前缀。

表 1. 有效命令及选项列表

命令
描述

:about 显示关于对话框。如果没有给命令也会显示。
:log 打开日志对话框,/path 指定了显示日志的文件或目录,另外还有三个选项可以设置: /startrev:xxx、/endrev:xxx和/strict
:checkout 打开检出对话框,/path指定了目标路径,而/url制定了检出的URL。
:import 打开导入对话框,/path 指定了数据导入路径。
:update 将工作副本的/path更新到HEAD,如果给定参数/rev,就会弹出一个对话框询问用户需要更新到哪个修订版本。为了防止指定修订版本号/rev:1234的对话框,需要选项/nonrecursive和/ignoreexternals。
:commit 打开提交对话框,/path 指定了目标路径或需要提交的文件列表,你也可以使用参数 /logmsg 给提交窗口传递预定义的日志信息,或者你不希望将日志传递给命令行,你也可以使用/logmsgfile:path,path 指向了保存日志信息的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用/bugid:"the bug id here"完成这个任务。
:add 将/path的文件添加到版本控制 。
:revert 恢复工作副本的本地修改,/path说明恢复哪些条目。
:cleanup 清理中断和终止的操作,将工作副本的/path解锁。
:resolve 将/path指定文件的冲突标示为解决,如果给定/noquestion,解决不会向用户确认操作。
:repocreate 在/path创建一个版本库。
:switch 打开选项对话框。/path 指定目标目录。
:export 将/path的工作副本导出到另一个目录,如果/path指向另一个未版本控制目录,对话框会询问要导出到/path的URL。
:merge Opens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. These pre-fill the relevant fields in the merge dialog.
:mergeall Opens the merge all dialog. The /path specifies the target directory.
: Brings up the branch/tag dialog. The /path is the working to branch/tag from. And the /url is the target URL. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path, where path points to a file containing the log message.
:settings 打开设置对话框。
:remove 从版本控制里移除/path中的文件。
:rename 重命名/path的文件,会在对话框中询问新文件,为了防止一个步骤中询问相似文件,传递/noquestion。
:diff Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx. If/blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions.
:showcompare
Depending on the URLs and revisions to compare, this either shows a unified diff (if the option unified is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files.
The options url1, url2, revision1 and revision2 must be specified. The options pegrevision, ignoreancestry, blame and unified are optional.

:conflicteditor Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in /path.
:relocate 打开重定位对话框,/path指定了重定位的工作副本路径。
:help 打开帮助文件
:repostatus 打开为修改检出对话框,/path 指定了工作副本目录。
:repobrowser Starts the repository browser dialog, pointing to the URL of the working given in /path or /path points directly to an URL. An additional option /rev:xxx can be used to specify the revision which the repository browser should show. If the /rev:xxx is omitted, it defaults to HEAD. If /path points to an URL, the /projectpropertiespath:path/to/wcspecifies the path from where to read and use the project properties.
:ignore 将/path中的对象加入到忽略列表,也就是将这些文件添加到 svn:ignore 属性。
:blame
为 /path 选项指定的文件打开追溯对话框。
如果设置了 /startrev 和 /endrev 选项,不会显示询问追溯范围对话框,直接使用这些选项中的版本号。
如果设置了 /line:nnn 选项,TortoiseBlame 会显示指定行数。
也支持 /ignoreeol,/ignorespaces 和 /ignoreallspaces 选项。

:cat 将/path指定的工作副本或URL的文件保存到/savepath:path,修订版本号在/revision:xxx,这样可以得到特定修订版本的文件。
:createpatch 创建/path下的补丁文件。
:revisiongraph 显示/path目录下的版本变化图。
:lock Locks a file or all files in a directory given in /path. The 'lock' dialog is shown so the user can enter a comment for the lock.
:unlock Unlocks a file or all files in a directory given in /path.
:rebuildiconcache Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass /noquestion.
:properties 显示 /path 给出的路径之属性对话框。

Examples (which should be entered on one line):
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0

TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0

TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0

④ SVN常用命令及例句

1、Linux命令行下将文件checkout到本地目录

svn checkout path(path是服务器上的目录)

例如:svn checkout svn://192.168.1.1/pro/domain

简写:svn co

2、Linux命令行下往版本库中添加新的文件

svn add file

例如:svn add test.php(添加test.php)

svn add *.php(添加当前目录下所有的php文件)

3、Linux命令行下将改动的文件提交到版本库

svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)

例如:svn commit -m “add test file for my test“ test.php

简写:svn ci

4、Linux命令行下的加锁/解锁

svn lock -m “LockMessage“ [--force] PATH

例如:svn lock -m “lock test file“ test.php

svn unlock PATH

5、Linux命令行下更新到某个版本

svn update -r m path

例如:

svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。

svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)

svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

简写:svn up

6、Linux命令行下查看文件或者目录状态

1)svn status path(目录下的文件和子目录的状态,正常状态不显示)

【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

2)svn status -v path(显示文件和子目录状态)

第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

简写:svn st

7、Linux命令行下删除文件

svn delete path -m “delete test fle“

例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”

或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种

简写:svn (del, remove, rm)

8、Linux命令行下查看日志

svn log path

例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、Linux命令行下查看文件详细信息

svn info path

例如:svn info test.php

10、Linux命令行下比较差异

svn diff path(将修改的文件与基础版本比较)

例如:svn diff test.php

svn diff -r m:n path(对版本m和版本n比较差异)

例如:svn diff -r 200:201 test.php

简写:svn di

11、Linux命令行下将两个版本之间的差异合并到当前文件

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12、Linux命令行下SVN 帮助

svn help

svn help ci

以上是常用命令,下面写几个不经常用的

13、Linux命令行下版本库下的文件和目录列表

svn list path

显示path目录下的所有属于版本库的文件和目录

简写:svn ls

14、Linux命令行下创建纳入版本控制下的新目录

svn mkdir: 创建纳入版本控制下的新目录。

用法: 1、mkdir PATH…

2、mkdir URL…

创建版本控制的目录。

1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增调度,以待下一次的提交。

2、每个以URL指定的目录,都会透过立即提交于仓库中创建.在这两个情况下,所有的中间目录都必须事先存在。

15、Linux命令行下恢复本地修改

svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:

用法: revert PATH…

注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录

16、Linux命令行下代码库URL变更

svn switch (sw): 更新工作副本至不同的URL。

用法: 1、switch URL [PATH]

2、switch –relocate FROM TO [PATH...]

1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的方法。

2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用这个命令更新工作副本与仓库的对应关系。

17、Linux命令行下解决冲突

svn resolved: 移除工作副本的目录或文件的“冲突”状态。

用法: resolved PATH…

注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让 PATH 可以再次提交。

18、Linux命令行下输出指定文件或URL的内容。

svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。

svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

以上是Linux命令行下常用svn命令的使用方法。

⑤ mac 10.15.5版本下 svn 命令的使用

简单的梳理了一下,因为花费时间比较久,一些过程忘记了,回头换台电脑再试一下。到时候再改这个文章。

在整理svn服务器文件目录时,因为和本地working 的文件目录对应不上了。
因此需要使用到以下命令

但是在 10.15.5版本下,svn的命令不可用了.
网上有相关的教程,大部分都是以下的这种报错。

和以下的解决方案

但对于我并没有用,网上也没有资料可以借鉴

这时候准备去重装 svn
在运行了以下命令之后

报了以下错误

没有修改这个目录文件的权限

于是想升级一下 HomeBrew
在执行了以下命令之后

报了以下错误

使用以下命令修改了权限。

之后的一系列操作忘记了,应该是升级了 HoneBrew和svn

然后开始报错

表示需要 lz4

可能会提示本地已经有了 lz4

如果不支持直接link

之后还有一些类似的错误。直接重复以上行为。
当我使用 svn 命令不报错之后。
使用 svn info 报出了一下错误

使用一下命令搞定

至此svn 命令都可以使用。

⑥ windows 怎么用svn命令

1、Windows下命令行工具:

发现原来安装的tortoisesvn已经集成到shell中,不能在命令行下使用。

下载Apache Subversion command line tools,这是一个可以在cmd下使用的命令行工具,解压后把里面bin目录这个路径添加到环境变量的path,这样在cmd下就可以使用了,和linux下使用svn的习惯一样了。

目录约定:

⑦ svn命令使用方法

在svn
commit后面可以附加参数指定路径的,这个路径你指定为这单个文件就行了
svn
commit
[path...]
使用svn
help
commit查看commit指令的详细帮助
另外如果用tortoisesvn等客户端的话,在这单个文件上点右键,然后选择commit菜单就行了

⑧ SVN命令行怎么用

SVN Commit
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:%f /notempfile /closeonend
SVN CommitAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:* /notempfile /closeonend
SVN Diff
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend
SVN Log
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:%f /notempfile /closeonend
SVN Update
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%f /notempfile /closeonend
SVN UpdateAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:* /notempfile /closeonend
Source Monitor
D:\SourceMonitor\SourceMonitor /DC++ %f

⑨ windowns怎么命令行安装svn

1.windows下的命令行svn客户端
http://somebody-hjh.iteye.com/blog/1415992
我们知道,在linux下面的svn客户端采用命令的方式管理与服务器端svn交互。有些朋友想在windows下也具有相同的功能,而不是TortoiseSVN的GUI管理方式。这样可以使用我们熟悉的svn命令。
在不用安装TortoiseSVN客户端的情况,大家可以再http://subversion.apache.org/packages.html#windows 找到windows下的svn客户端工具。选择Win32Svn 进行安装。
安装好后,bin目录下就是相应程序了。通过添加环境变量的方式,把bin目录添加到path。启动cmd,敲入 svn help 以确认是否安装成功。
好了,可以找到你的代码,做checkout了。在commit代码的过程中,经常会出现的一个问题是:svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no 'editor-cmd' run-time configuration option was found
这表示你的系统,没有指定svn客户端通过什么样的文本编辑器来写提交的注释。我们添加环境变量,SVN_EDITOR的值为notepad。再次svn ci 代码。notepad弹出了,写完注释保存。代码提交!
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2.使用SVN命令行工具,svn下载,windows命令行下svn
http://hi..com/cpuramdisk/item/6e8e0fc29f7dbe2f46d5c038
从http://subversion.tigris.org获取subversion for windows的版本,安装之后就有了svn.exe这个基于命令行的客户端工具。当然服务器端的程序也有了,这里就不关心如何配置SVN服务了。安装程序把svn.exe的路径加入了path环境变量,我们已经可以在命令行中直接输入svn就可以使用了。

如果你不知道命令怎么用svn命令,可通过如下方式查询:
svn help
知道了子命令,但是不知道子命令的用法,还可以查询:
svn help ci

开发人员常用命令

导入项目
svn import http://svn.chinasvn.com:82/pthread --message "Start project"

导出项目
svn checkout http://svn.chinasvn.com:82/pthread

采用 export 的方式来导出一份“干净”的项目
svn export http://svn.chinasvn.com:82/pthread pthread

为失败的事务清场
svn cleanup

在本地进行代码修改,检查修改状态
svn status -v
svn diff

更新(update)服务器数据到本地
svn update directory
svn update file

增加(add)本地数据到服务器
svn add file.c
svn add dir

对文件进行改名和删除
svn mv b.c bb.c
svn rm d.c

提交(commit)本地文档到服务器
svn commit
svn ci
svn ci -m "commit"

查看日志
svn log directory
svn log file

相关的一些东西:
1、在本地文件中,每个目录下都有一个.svn文件夹(属性为隐藏),保存了相关的信息。
2、注册环境变量SVN_EDITOR为"E:\Program Files\Vim\vim71\gvim.exe",结果在svn ci的时候,出现错误:

'E:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
svn: 提交失败(细节如下):
svn: system('E:\Program Files\Vim\vim71\gvim.exe svn-commit.tmp') 返回 1

把SVN_EDITOR改为"gvim.exe",并且在path中添加路径"E:\Program Files\Vim\vim71",这样就可以在提交的时候用vim编写注释了。

附:
提供免费SVN服务的网站:
http://www.svnhost.cn/(推荐)
http://www.chinasvn.com
http://www.javaforge.com
http://unfuddle.com
http://svn.coollittlethings.com/index.php(针对开源免费,针对私人项目收费)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

3.http://space.itpub.net/14466241/viewspace-713138
Windows下SVN命令行工具使用详解(附加TortoiseSVN)
上一篇 / 下一篇 2011-12-12 09:32:22 / 置顶(3) / 个人分类:网络文摘
查看( 4610 ) / 评论( 1 ) / 评分( 5 / 0 )

根据我的记忆,似乎Windows 7下自自带一个svn命令行工具。如果你的机器没有,不必担心。你可以从http://subversion.tigris.org获 取subversion for windows的版本,安装之后就有了svn.exe这个基于命令行的客户端工具。安装程序把svn.exe的路径加入了path环境变量,我们已经可以在命令行中直接输入svn就可以使用了。

如今,好用的开源工程遍布世界各地。许多这样的工具都提供了相应的工程源码的SNV下载地址,所以,这个工具你几乎是非了解不可的。以下列出svn使用使用的典型举例。

一、关于命令行工具SVN

如果你不知道命令怎么用svn命令,可通过如下方式查询:
svn help
知道了子命令,但是不知道子命令的用法,还可以查询:
svn help ci

常用命令格式与举例
导入项目
svn import http://svn.chinasvn.com:82/pthread --message "Start project"

导出项目
svn checkout http://svn.chinasvn.com:82/pthread

采用 export 的方式来导出一份“干净”的项目
svn export http://svn.chinasvn.com:82/pthread pthread

为失败的事务清场
svn cleanup

在本地进行代码修改,检查修改状态
svn status -v
svn diff

更新(update)服务器数据到本地
svn update directory
svn update file

增加(add)本地数据到服务器
svn add file.c
svn add dir

对文件进行改名和删除
svn mv b.c bb.c
svn rm d.c

提交(commit)本地文档到服务器
svn commit
svn ci
svn ci -m "commit"

查看日志
svn log directory
svn log file

二、关于可视化SVN工具TortoiseSVN

到http://tortoisesvn.net/downloads.html处下载可视化SVN工具TortoiseSVN。这个工具非常好用,是一个WINDOWS下可视化工具,特别是支持断点续传。

因此,如果下载小型的SVN内容,使用上面的WINDOWS自带的命令行工具SVN.EXE足够了。但是,当下载大家伙时,常常下载到中间便失去与服务器的联系。如果再重新下载,非常可怜,而且往往还是不行。我在下载LIBGDX这个游戏引擎的源码工具时便是遇到这样的情况。因此才搜索到这个工具。

下载安装后,这个工具是以WINDOWS资源管理器插件的形式存在的,非常人性化。你只要右键点击一个你想存储下载内容的文件夹,选择“SVN Checkout...”选择,然后弹出一个对话框。此后,你输入你的SVN资源地址,便OK了。而且,这个工具下载速度非常快......

备注:在这个页面http://bbs.mountblade.com.cn/viewthread.php?tid=168300
有几个截图,参考一下吧。

⑩ 如何设置 SVN

(一)安装
Windows环境下面分了CollabNet / Tigris.org(Apache2.2和Apache2.0) / SlikSVN / VisualSVN 5个链接,我选的是Tigris Apache2.2,下载一个目前最新的Setup-Subversion-1.6.6.msi,点击,一路安装即可,很简单。

开始菜单-》运行-》输入Cmd回车,敲“svn --version --quiet”,会得到SVN的版本号。

(二)配置
1、创建repository
Rrepository是存储数据的地方。
例如要在F:\svnroot下创建repository,就使用命令行svnadmin create f:\svnroot。如果执行正确的话,会在F盘下多一个SVNROOT的目录,目录下有4个目录和2个文件。

2、启动SVN服务
使用命令行 svnserve -d -r f:/svnroot,这样外部就可以它能够过客户端来访问了。
我运行完才发现,这样cmd窗口还不得不一直开着,很难看,当然一般大公司的代码服务器是24小时开着的。

上网搜了一下,也可以作为一个服务自动启动的。执行脚本 sc create svn binpath= "\"d:\Program Files\Subversion\bin\svnserve.exe\" --service -r\"f:/svnroot\"" displayname= "Subversion Server" depend= Tcpip start= auto 就可以将svnserve程序作为服务载入。安装路径和存储数据的目录要根据自己的情况修改。

执行完这个脚本,可以去管理工具-》控制面板-》服务那里找找Subversion Server,如果没启动就启动

3、基本设置
修改f:|svnroot\repos\conf\svnserve.conf,注释很详细。
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256

期中,anon-access = none表示要用户名和密码,password-db = passwd表示passwd是存身份验证的用户名和密码。sasl,就是加密访问用的,一般也可以不用。

4、用户管理
在f:|svnroot\repos\conf\passwd里添加有权限的用户名和密码。例如添加用户yobin,密码123456,就这样:
[users]
# harry = harryssecret
yobin = 123456
hh = 111
ss = 222

5、分组管理和权限设置
如果是所有文件对用户都可见的话,上面几步也足够用了。但要想对一些人可见,一些人不可见的话,就要去修改authz文件了。

&别名:别名的引用
@用户组名:某组用户
$authenticated:所有已授权用户
$anonymous:匿名用户
* : 任何人

r:写权限
rw:读写权限
:不能访问(空,什么都不写)

设置用户权限的时候,'='左侧代表用户名称,可以是实际用户名,也可以是定义的用户组名,也可以是别名,但要用'@'作为前缀,或者是所有用户'*'。'='右侧代表设置的权限'r'、'rw'或者为空即代表用户对于该目录无任何权限。

authz文件中对版本库路径的表示方法。用'[/]'来表示版本库的根目录,如果有子目录foo,设置该目录权限时用'[/foo]'即可,其他任何目录都以'/'为版本根目录进行表示。注意了,别用”\“!!!

用户某个目录的权限是向子目录递归的。如果用户对于/foo目录有读写权限,则该用户对于foo目录下的所有子目录都有读写权限。如果不设置最上层的目录没有设置权限,那么就相当于不设置,禁止访问。
权限分配,只可以分配到某个目录,而不能到某个文件。

阅读全文

与svn命令行使用方法相关的资料

热点内容
服务器10k什么意思 浏览:21
pdfeditor汉化 浏览:884
新科学pdf 浏览:746
现在还有c语言编译吗 浏览:674
哪里买到单片机 浏览:480
linux文件打开数量 浏览:510
编译原理中什么是l属性文法 浏览:369
硬盘加密时出现的问题 浏览:59
如何退域命令 浏览:108
看书的app哪里看 浏览:291
服务器怎么调大 浏览:3
android天气apijson 浏览:984
为什么创建id会出现服务器错误 浏览:837
代码中有不必编译的单词吗 浏览:563
钩子与数据库编程 浏览:563
安卓光遇录歌怎么设置 浏览:485
虚拟机怎么和云服务器搭建集群 浏览:896
python倒计时代码turtle 浏览:492
cad命令mv 浏览:928
nexus7一代androidl 浏览:306