搜档网
当前位置:搜档网 › SVN使用和SVN常用命令 收藏

SVN使用和SVN常用命令 收藏

SVN使用和SVN常用命令 收藏
SVN使用和SVN常用命令 收藏

SVN使用和SVN常用命令收藏

之前比较少接触linux,今天参考网上的资料实践了一下如何建立svn仓库,包括简单的授权设置。

假设要建立一个svn项目:new_project

一、创建svn仓库

去到svn服务的根目录,(这个目录是在启动svn服务的时候指定的,启动的命令如:svnserve -d -r /usr/local/svnrepos)执行创建仓库命令:

svnadmin create new_project

这样在/usr/local/svnrepos/ 里面就多了一个new_project目录出来,进入new_project/conf/ 目录

vi svnserve.conf

将下面几行的注释去掉

[general]

anon-access = read #匿名的用户可读

auth_access = write #有授权的用户可写

password-db = passwd #表示svn用户的授权资料保存在passwd文件里面

在conf/目录里面vi passwd,添加授权资料。格式如下:

[user]

your_name = your_password

二、导入源码

(导入源码的过程不一定要按照下面说的来做,关于svn目录管理其实可以很灵活,适合自己就行)

现在先准备一个临时文件夹,用来构建仓库中的基本目录结构:

mkdir temp

mkdir temp/trunk

mkdir temp/tags

mkdir temp/branches

这时可以将temp目录导入的仓库中:

svn import temp svn://localhost/new_project -m 'initial'

如果new_project已经开发到一定程度,我们只需要将源码导入到仓库中的trunk就行了。

假设源码的根目录是~/new_project

进入~目录,把源码导入到trunk中:

svn import new_project svn://localhost/new_project/trunk -m 'initial again'

====================================================================== =========

1、将文件checkout到本地目录

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

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

简写:svn co

2、往版本库中添加新的文件

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 ci

4、加锁/解锁

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

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

svn unlock PATH

5、更新到某个版本

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、查看文件或者目录状态

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、删除文件

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、查看日志

svn log path

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

9、查看文件详细信息

svn info path

例如:svn info test.php

10、比较差异

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、将两个版本之间的差异合并到当前文件

svn merge -r m:n path

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

12、SVN 帮助

svn help

svn help ci

——————————————————————————

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

——————————————————————————

13、版本库下的文件和目录列表

svn list path

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

简写:svn ls

14、创建纳入版本控制下的新目录

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

用法: 1、mkdir PATH…

2、mkdir URL…

创建版本控制的目录。

1、每一个以工作副本PATH 指定的目录,都会创建在本地端,并且加入新增

调度,以待下一次的提交。

2、每个以URL指定的目录,都会透过立即提交于仓库中创建。

在这两个情况下,所有的中间目录都必须事先存在。

15、恢复本地修改

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

用法: revert PATH…

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

被删除的目录

16、代码库URL变更

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

用法: 1、switch URL [PATH]

2、switch –relocate FROM TO [PATH…]

1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将

服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的

方法。

2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动

(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用

这个命令更新工作副本与仓库的对应关系。

17、解决冲突

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

用法: resolved PATH…

注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的

相关文件,然后让PATH 可以再次提交。

18、输出指定文件或URL的内容。

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

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

本文来自CSDN博客,转载请标明出处:https://www.sodocs.net/doc/891030848.html,/wssxy/archive/2009/05/27/4221153.aspx

本文来自CSDN博客,转载请标明出处:https://www.sodocs.net/doc/891030848.html,/angelflying928/archive/2010/01/15/5194776.aspx

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 我们新建一个项目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命令行工具

使用SVN命令行工具 如果你不知道命令怎么用svn命令,可通过如下方式查询:svn help知道了子命令,但是不知道子命令的用法,还可以查询:svn help ci 开发人员常用命令导入项目svn import https://www.sodocs.net/doc/891030848.html,:82/pthread --message "Start project"导出项目svn checkout https://www.sodocs.net/doc/891030848.html,:82/pthread采用export 的方式来导出一份“干净”的项目svn export https://www.sodocs.net/doc/891030848.html,:82/pthread pthread为失败的事务清场svn cleanup在本地进行代码修改,检查修改状态svn status -vsvn diff更新(update)服务器数据到本地svn update directorysvn update file增加(add)本地数据到服务器svn add file.csvn add dir对文件进行改名和删除svn mv b.c bb.csvn rm d.c提交(commit)本地文档到服务器svn commitsvn cisvn ci -m "commit"查看日志svn log directorysvn log file相关的一些东西:1、在本地文件中,每个目录下都有一个.svn文件夹(属性为隐藏),保存了相关的信息。2、注册环境变量SVN_EDITOR为"E:\Program Files\Vim\vim71\gvim.exe",结果在svn ci的时候,出现错误:'E:\Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。svn: 提交失败(细节如下):svn:

SVN命令使用手册

SVN命令使用手册修改版本记录 M:修改A:添加D:删除

SVN命令使用 一、常用命令 1.Svnadmin create创建库 svnadmin create path 在windows版本上: D:\>svnadmin create test2 D:\> 通过dir来列出目录中文件,已经包含test2,如图1所示: 图1 说明此时已经成功建立 2.Svn import导入项目 svn import project_path svn_lib_path -m “comment” 举例: 假设有一个工程名称unismg,代码的文件目录是unicom; A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示: 图2

trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。 B、我们将代码unicom放到d:\unismg\trunk\中 C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示: 图3 这样我们就将工程代码导入svn库中管理。此时删除D:\>unismg目录也没有关系,因为你的源代码已经在SVN库中管理了。 有人会有疑问,为什么我到test2目录中去找*.c文件怎么一个没有找到啊,是的SVN 管理代码,并不是简单的保存文件,而是利用bdb管理的,所以你看不到源码存在。 之后你可以使用后续的命令来工作了。 多说一句,关于svn_lib_path的几种形式: file:///直接版本访问(本地磁盘) http://通过配置subversion的Apache服务器的WebDAV协议 https://与http://相似,只不过增加了ssh协议 Svn://通过svnserver服务自定义的协议 Svn+ssh://与svn://相似,但是通过SSH协议封装 比如,联通在信网关在30.251linux服务器上,使用的是svnserver服务自定义的协议,那么,导入工程代码时应采用的命令是: svn import $path/proj/unismg svn://192.168.30.251:3482-m "initial import unismg" 3.Svn co: 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 举例: svn co svn://192.168.30.251:3482/trunk/unicom 下面信息就是从库中下载的代码信息。

svn常用命令详解

一.SVN导出(check out 和export的区别) 1.check out跟check in对应,export跟import对应; 2.check out导出获得文件后,导出的文件仍处于SVN版本控制中,与版本库保持关 联,比如你可以进行Svn Update或者Svn Commit操作。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。 3.export 简单导出一个版本的数据,导出的文件脱离SVN版本控制,修改后无进行 Update和Commit操作。导出文件夹下没有.svn目录。 二.linux下svn命令大全 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 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 ci 4、加锁/解锁 svn lock -m “LockMessage“[--force] PATH 例如:svn lock -m “lock test file“test.php svn unlock PATH 5、更新到某个版本 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、查看文件或者目录状态 1)svn status path(目录下的文件和子目录的状态,正常状态不显示) 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 2)svn status -v path(显示文件和子目录状态) 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改

svn 常见报错

常见错误提示: 1:?.? is not a working copy. Can?t open file ….svn/entries?:系统找不到指定的路径。 原因是输入的访问路径不正确,如svn://192.168.6.200/如果最后少写了“/”,就会出现这种错误提示。 2:将文件checkout之后,没有出现SVN的图标,是怎么回事? 有些时候在客户端Checkout文件后,SVN的系统图标也会不显示,可以执行一下“Clean up”,就会出现SVN的系统图标。 3:为什么添加的文件,别人看不到,版本库里也没有? 最可能的原因是,你只是执行了“Add”而没有“Commit”,这样只是在本地注明某个文件是预定要增加的,而没有实际添加到版本库中,要添加到版本库必须执行“Commit”。删除文件也是一样。 4 :“Commit failed。……You have to update your working copy first”提交失败,需要首先执行更新操作。多人同时修改同一文件,在提交前其他人已经抢先提交到SVN服务器中,导致该错误;解决方法:对工作复本中的文件进行更新即可。 5. 更新时提示文件发生冲突:“One or more files are not a conflicted state。” 多人同时修改同一文件的同一部分,SVN无法自动进行合并,会导致该错误;解决方法:对工作复本中的文件和服务器的文件进行比较,手工合并即可。 6.“Commit failed;File already exists”提交失败,文件**已存在。 版本管理系统在改变你的计算机上的工作副本时,是非常的小心的。在做任何事情之前,它都尽可能把您的意图写到你的计算机上的日志文件中去。但如果偶然地操作中断了(例如:突然停电了,您的计算机死机了),那么日志文件记录就可能同您最后的工作状态不一致。一种建议解决途径:先把要提交的东西拷出来放到其它目录,再更新本地文件,然后把拷出来的文件重新放回去提交。 7:执行clean up时,出现错误“Subversion reported an error while doing a cleanup!” '**' is not a working copy directory ” 遇到这种情况,先删除隐藏文件夹.svn中的tmp下面的临时文件,再执行clean up。 8:因为仓库与目录很多,使用TSVN每次选择目录URL of repository有很多地址,如何才清除呢?像清除浏览器中的历史那样,用什么方法呢? 右键->TortoiseSVN->Settings->Saved Data,就可以清除你想要的东西了,包括URL、log、窗口大小、密码缓存等。 9:在SVN中选中一个目录show log时,出现了某些版本只显示版本号和(no date),没有其他信息,什么原因引起的? 出现了(no date)的revision,为其他人修改了你所没有权限访问的某个目录下的文件。

SVN常用命令(WINDOWS)

SVN常用命令(windows) 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 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 ci 4、加锁/解锁 svn lock-m“LockMessage“[--force]PATH 例如:svn lock-m“lock test file“test.php svn unlock PATH 5、更新到某个版本 svn update-r m path 例如: svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版 本。 svn update-r200test.php(将版本库中的文件test.php还原到版本200) svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 简写:svn up 6、查看文件或者目录状态 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、删除文件 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)

svn基本操作试题及答案

《SVN基本操作》试题 (说明:本卷满分100分,考试时间30分钟,考试方式闭卷) 所在部门:______________姓名:___________得分:________ 一、填空题(每空格5分,共20分) 当发生提交冲突的时候,可使用SVN的DIFF来进行两个版本文件的比较,为保证解决冲突,合并版本的时候,不会删除前版本的内容,建议使用手工解决冲突,而不是使用svn的Merge自动进行版本合并!发生冲突的时候,应知会前版本提交人,一起解决冲突,合并版本! 二、选择题(每题2分,共30分) 1.在空白处,单击右键,选择“TortoiseSVN”(A)便可以进入SVN版本库浏览器。 A、Repo-browser B、Createrepositoryhere C、Settings D、Import 2.在URL中输入访问路径后,会弹出Authentication对话框,在对话框中输入用户名和密码,点击(B)可保存用户名和密码。 A、Authenticationdata B、SaveAuthentication C、Settings D、SavedData 3.如果想要清除服务器上的所有认证缓存,可以通过TortoiseSVN Settings(设置)对话框中的SavedData(A),按clear或者clearall按钮即可清空。 A、Authenticationdata B、SaveAuthentication C、URLhistory D、Logmessages 4.绿色的对勾标记代表(A),红色的感叹号标记代表(D),蓝色的加号代表(B)。 A、工作副本状态正常 B、文件已被计划加入版本控制 C、提交过程中出现冲突 D、工作副本已修改 5.把本地的文件夹下的文件添加到服务器上的某个目录下面,那么在本地的目录右键TortoiseSVN(A)进行。 A、Import B、Createrepositoryhere C、Settings D、Export 6.在SVN版本库浏览器内,选好目录,于空白处右键选择(B)添加文件、选择(C)添加文件夹。 A、createfolder B、Addfile C、Addfolder D、Export 7.在本地计算机硬盘新建的空白文件夹内,右键选择(A)可以从SVN服务器下载受版本控制的文件。

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/Knowledge 2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图:

2、update 获取版本库中最新版本,具体的方法是:在WC目录上单击右键,SVN Update。 这时WC中的文件就是最新的版本了。 3、commit commit功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。 只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候才能选到该文件。commit页面:

注意:commit的时候,最好填写Log信息, Log内容包括:修改了哪些东西及为什么做这些修改(what+why) 强制必须录入log: property 中设置录入log最小长度,此时commit必须录入log,否则不允许提交. 设置录入log最小长度页面:

linux下svn的配置及svn常用命令

SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。右图是一个svn的工作流程,它可以很方便用户的代码编写。 1.首先安装SVN:”sudo apt-get install subversion”. 查看svn的版本和确定是否安装成功:”svnserve –version”. 2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。这里说明一下:版本库之间是独立的。(下图为msm的目录) 3.增加用户 修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,列子如下 用户组格式: [groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。版本库目录格式: [<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>, 其中,方框号内部分可以有多种写法: /,表示根目录(仓储目录)及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。 下图是我增加的用户组:(注意:等号后留有空格) 增加后:

svn详细使用教程-超经典

svn详细使用教程-超全面 TortoiseSVN是一个SVN的客户端,SVN客户端的使用 1.Checkout Repository 首先要Checkout服务器端的Repository, 所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。 这个Checkout和Visual Source Safe的Checkout意义完全不一样, VSS的Checkout指的是锁定某个文件,如果你以前使用过VSS, 在学习Subversion时这个问题一定要注意。 Checkout的具体方式是: 在客户端新建一个空目录,比如:F:\Project1 在该目录上单击右键,在弹出式菜单中选中SVN Checkout..., 之后在“URL of Repository”文本框中填入你想要连接的Repository的地址, 这个URL地址可以用浏览方式加入。 对于在本教程第二节建立的Repository, URL应该是“svn://xxx/project1” (xxx可以是服务器端主机名,也可以是服务器端的ip地址)。 然后点OK,会弹出一个认证对话框, 输入在教程第三节设置的用户名和密码。 点OK后就完成了对Repository的Checkout。 比如:在服务器端Repository中有一个a.txt文件, 那么Checkout之后F:\Project1目录下也会出现一个a.txt文件。 在本例中由于服务器端的Repository还未添加任何文件, 所以在客户端的F:\Project1下没有文件被Checkout。 执行Checkout除了会在F:\Project1产生Repository存储的文件及目录外, 还会产生了一个“.svn”的隐含目录,该目录是由subversion管理的, 不要删除或者手工改动其中的文件和目录。 现在F:\Project1中的文件和目录就叫做Repository的“Working Copy”简写“WC”(这个简写...汗)。 以后对Repository中文件和目录的修改,添加,删除的操作, 都是通过对这个“Working Copy”的操作实现的。 Checkout执行完后, 会发现F:\Project1目录的图标的左下角附着了一个小的状态图标 (当F:\Project1目录中的文件改变时,这个状态图标也会随之变化), 它表示F:\Project1是一个Repository的“Working Copy”, F:\Project1内的所有文件和目录也会有类似的状态图标。 2.添加文件 将要添加的文件或者目录拷贝到F:\Project1下, 然后在该文件或目录上单击右键,TortoiseSVN->Add,点OK。 如果添加了不止一个文件或目录, 则鼠标不要在F:\Project1中点中任何文件, 然后单击右键,TortoiseSVN->Add, 就可以添加多个文件或目录。

SVN使用和SVN常用命令

Svnserve –d –r 路径名+文件名 Svn://IP SVN使用和SVN常用命令 之前比较少接触linux,今天参考网上的资料实践了一下如何建立svn仓库,包括简单的授权设置。 假设要建立一个svn项目:new_project 一、创建svn仓库 去到svn服务的根目录,(这个目录是在启动svn服务的时候指定的,启动的命令如:svnserve -d -r /usr/local/svnrepos)执行创建仓库命令: svnadmin create new_project 这样在/usr/local/svnrepos/ 里面就多了一个new_project目录出来,进入new_project/conf/ 目录 vi svnserve.conf 将下面几行的注释去掉 [general] anon-access = read #匿名的用户可读 auth_access = write #有授权的用户可写 password-db = passwd #表示svn用户的授权资料保存在passwd文件里面 在conf/目录里面vi passwd,添加授权资料。格式如下: [user] your_name = your_password 二、导入源码 (导入源码的过程不一定要按照下面说的来做,关于svn目录管理其实可以很灵活,适合自己就行) 现在先准备一个临时文件夹,用来构建仓库中的基本目录结构: mkdir temp mkdir temp/trunk mkdir temp/tags mkdir temp/branches

这时可以将temp目录导入的仓库中: svn import temp svn://localhost/new_project -m 'initial' 如果new_project已经开发到一定程度,我们只需要将源码导入到仓库中的trunk就行了。 假设源码的根目录是~/new_project 进入~目录,把源码导入到trunk中: svn import new_project svn://localhost/new_project/trunk -m 'initial again' ====================================================================== ========= 1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svn commit -m “LogMessage“[-N] [–no-unlock] PA TH(如果选择了保持锁,就使用–no-unlock开关) 例如:svn commit -m “add test file for my test“test.php 简写:svn ci 4、加锁/解锁 svn lock -m “LockMessage“ [–force] PATH

IDL常用命令

Slice 2D probe = '1' level = 'l2' species = 'hplus' data_rate = 'srvy' name = 'mms'+probe+'_hpca_'+species+'_phase_space_density' timespan, '2015-10-16/13:06:00', 1, /min ;time range to load trange = timerange() time = trange[0] ;slice time ;load data into tplot mms_load_hpca, probes=probe, trange=trange, data_rate=data_rate, level=level, datatype='ion' ;reformat data from tplot variables into compatible 3D structures dist = mms_get_dist(name) ;get single distribution ; -3d/2d interpolation show smooth contours ; -3d interpolates entire volume ; -2d interpolates projection of a subset of data near the slice plane ; -geometric interpolation is slow but shows bin boundaries ;--------------------------------------------- slice = spd_slice2d(dist, time=time) ;3D interpolation ;slice = spd_slice2d(dist, time=time, /two) ;2D interpolation ;slice = spd_slice2d(dist, time=time, /geo) ;geometric interpolation ;average all data in specified time window ;slice = spd_slice2d(dist, time=time, /geo, window=20) ; window (sec) starts at TIME ;slice = spd_slice2d(dist, time=time, /geo, window=20, /center_time) ; window centered on TIME ;average specific number of distributions (uses N closest to specified time) ;slice = spd_slice2d(dist, time=time, /geo, samples=3) ;plot spd_slice2d_plot, slice stop

SVN日常使用说明

1.版本控制原则 SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。 2.各阶段中svn的使用方法介绍 2.1.初始化版本库 初始化版本库有两种常用的方式: 2.1.1.直接“导入Import…”(目前,OSSP版本已经导入 到版本库,项目组成员无需做此操作) 对要执行导入操作得项目文件夹进行如下清理: 1. 把项目中不需要的文件删除。(临时文件、编译器创建的文件,比如*.obj、二进制文件等。) 2. 把文件夹和子文件夹中的所有文件整理一遍。虽然你可以在导入之后再来进行重命名或删除等操作,但是还是推荐你在导入之前把你的项目整理好。 在资源管理器(windows explorer)中选择项目(本地硬盘上)的根文件夹,单击鼠标右键,选择导入Import…命令,跳出一个对话框:

在这个对话框中你需要填写你要将项目导入仓库的URL地址(svn必须小写)。导入信息(Important Message)是用来记录日志信息的。注意:与“忽略样式exclude pattern”匹配的文件或文件夹不会被导入,除非选择了“包含忽略的文件”选项。 按下“确定”按钮后,TortoiseSVN就开始把整个文件夹树(包括所有文件)导入到仓库。用来做“导入Import”操作的这个文件夹的名字不会出现在仓库中,只有文件夹中的内容会出现。注意:刚才用来做“导入Import”操作的这个文件夹并没有处于版本控制下!要获取一份处于版本控制之下的[本地工作区]副本,你需要对刚导入的版本做一次“检出Checkout”操作。 2.1.2.“检出Checkout”—>“提交Commit” 新建一个空文件夹作为[本地工作区]的存放文件夹(建议与项目同名),在文件夹上(或者文件夹里)单击鼠标右键后在命令菜单中选择“检出Checkout…”,出现操作窗口。注意:只能检出Checkout到一个空文件夹。

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参数,参数可以为空,但是必须写上-m 5.更新文件 svn update svn 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 path 10.查看文件或者目录状态 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] URL 15.清除锁定 svn cleanup

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,你添加再提交后该文件就进入subversion版本中去了。 具体命令是: Svn add 文件名如图: 在当前的工作拷贝WEB_3G 文件夹中添加新文件text.html 然后将该文件add到版本库中 注意此时版本库中海没有新添加的文件text.html ,该文件会在下次提交时被放置到版本库中,如图:

svn基本操作手册

SVN操作手册 该操作手册简略地介绍一些日常使用操作,如需要更详细的说明文档可以访问网址https://www.sodocs.net/doc/891030848.html,/tsvndoc/。 一、登陆 1、打开资源管理器,在任意的目录下点击右键,在弹出的右键菜单里选择TortoiseSVN,选择版本库浏览器,将会弹出URL的窗口。 2、在URL编辑栏中输入SVN server的路径,例如:http://10.142.49.232/svn/test SVN可以通过多种方式访问——本地磁盘访问,或各种各样不同的网络协议,但是一个版 3、当输入步骤2 的url后,会弹出用户认证对话框,输入用户名和密码就可以登陆了。 登陆成功后会显示如图1所示的操作界面——版本库浏览器。 图1

二、导入项目 方法一: 1、在版本库浏览器窗口中,选择根目录,单击右键显示图2所示的菜单。 图2 2、选择加入文件夹,弹出文件浏览器窗口,选中要导入的项目所在文件夹,并确定。 3、步骤2 将弹出该操作的日志窗口,如图3 所示。点击确定,即可完成导入。 图 3 方法二: 选中导入的文件夹,单击右键,选择TortoiseSVN,在弹出的子菜单选中导入(I)… , 会弹出如图4所示的窗口。输入导入项目的目的地的URL和导入信息(用于日志消息,可不填写),然后点击确定就成功导入。 注意事项: 1、导入项目之前,必须先移除不是项目所必须的文件(由编译器所产生的临时文件,如*.obj,*.class等等。 2、先整理下文件夹和子文件夹里的文件,尽管可以在导入后重命名/删除文件,但是建

议在导入项目之前先将文件结构整理清楚。 3、导入的资料不包括选中的文件夹,而是该文件夹里面的资料。 4、如果选中的文件夹其子文件夹里面没有文件,则该子文件夹也不能被导入。 图 4 三、导出项目 1、登入版本库浏览器,选择要导出的项目。 2、右键选中“导出”,弹出如图所示的对话框。 图5 3、选择要导出的目录,并确定,即可完成导出。

SVN常用命令说明

/** * 转载请注明作者longdick https://www.sodocs.net/doc/891030848.html, * */ SVN版本:1.5 及更新版本 名词说明: WC:Working Copy 你的工作区 Versioned:受控的;受版本控制的 SVN是什么? ?SVN是开源的版本控制系统。 ?比CVS更多的特性。一个更好的CVS?因此SVN具有大部分CVS拥有的特性。 ?不仅仅是文件受控,目录也加入版本控制。 ?复制,删除,重命名这些操作都是受控的。 ?特殊作用的元数据(属性)。 ?提交事务原子性。提交完成之前任何一个部分都不会正真生效。版本号基于提交,而不是基于文件。提交时的log message也是依附于提交的那个版本。 ?创建分支和标记非常简单。简单的通过copy命令就可以创建分支和标记。 ?合并跟踪。在合并时协助你处理所有的更改点。 ?文件锁定。svn支持文件锁定修改策略。 ?Unix的link可以受控了。前提是WC必须在Unix下。 ?可选的Apache network server,基于WEBDAV/DeltaV 协议。熟悉Apache的管理员会很喜欢这一点。 ?内置的server选择(svnserve)。如果不想用Apache,可以试试Svn自己的server:svnserve。同样也能提供授权和验证,ssh通道等功能。 ?方便解析的输出。svn的输出尽量做到方便阅读和方便机器解析。 ?冲突解决交互性良好。svn命令行客户端提供多种不同的方式解决冲突。 ?svn提供一个实用工具,svnsync来实现从主库到只读附属库的同步。 ?持续写入代理功能让只读的附属库专门处理所有的读请求。所有的写请求交给主库处理。这个功能只在使用Apache WebDAV server的时候才有效。 ?基于本地化的客户机服务器体系,分层的库,明晰的API方便扩展。 ?高效处理二进制文件。 ?性能消耗与更改点的数量成正比。 ?svn的api可以和多种语言集成。Python,Perl,Java,Ruby(svn本身是用C写的) ?ChangeLists功能。 Svn的安装分客户端和服务端。

SVN常用命令集

1建立自己的环境 1、CSH 在使用C-SHELL时,有两个环境文件需要配置:.cshrc和.login(以“.”开头的文件通常的情况下是隐藏的,可以采用命令“ls -a”查看)。 .cshrc设置说明 umask 027 # 设置创建文件时的缺省权限 set history = 32 # 设置需要记忆的历史命令数目 setenv WORK_DIR $HOME # setenv 用于csh设置环境变量 setenv TERM vt100 # 设置终端类型 setenv PATH /opt/softbench/bin:/usr/bin/X11:/usr/c++/bin:/usr/contrib/bin: \ /usr/local/bin:/usr/contrib/bin/X11:/usr/local /bin/X11: \ /opt/ansic/bin:/opt/nettladm/bin:/opt/graphics /common/bin: \ /opt/upgrade/bin:/opt/CC/bin:/opt/langtools/bi n:/opt/imake/bin: \ ${PATH}:.:${INFORMIXDIR}/bin:${INFORMIXDIR}/li b/esql # 设置执行搜索路径 .login设置说明 stty erase "^H" kill "^U" intr "^C" eof "^D" susp "^Z" \ hupcl ixon ixoff tostop tabs eval `tset -s -Q -m ':?hp' ` # stty 用于设置终端的特殊键位。backspace是删除,delete是kill,ctrl + C是中断,等。 # 很多人回退键没法使用,ctrl+C也没发用等,就是因为没有设置这些属性。 另,在HPUX下经常出现需要自己选择终端类型的提示“TERM = (hp)”,这是因为在.login文件中含有怎么一行“eval `tset -s -Q -m ':?hp' `”,你只需将它注释掉即可,然后直接使用命令“setenv TERM ***”设置终端类型即可。 2、BSH/SH 待写。 3、KSH 待写。

相关主题