SVN客户端命令简介

合集下载

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服务器和客户端使用说明

SVN服务器和客户端使用说明

备注:本内容经过本人练习和测试简介VisualSVN Server是用于Subversion管理的windows程序,它整合了Subversion, Apache和一个命令行管理工具。

提供了完全可视化的Subversion版本库创建,管理,人员管理的操作界面。

TortoiseSVN是subversion的客户端工具,可以通过他连接到VisualSVN Server。

细节:VisualSvn Server 已经将 Apache 和 Subversion 集成好了,生成 HTTP 的访问方式 :http://计算机名:端口号/svn/Project_Name。

windows下配置VisualSVN Server服务器(服务端和客户端)下载安装文件:服务端安装文件:VisualSVN-Server-1.6.2(下载地址)客户端安装文件:TortoiseSVN-1.5.5.14361-win32-svn-1.5.4在VisualSVN Server 的官网上提供了两个产品。

一个是VisualSVN,另一个是VisualSVN Server (下面简称Server)。

前者是一个集成到Visual Studio里的插件,功能挺强大,但是需要收费滴VisualSVN Server(服务器端)一、VisualSVN Server的配置和使用方法【服务器端】1,VisualSVN Server的安装下载安装包,解压后得到.exe文件,双击进行安装其中的Location和Repositories存放位置可以自由设置,可以两个可以不在同一盘符下。

建议复选Usesecure connection项,这时候只有443和8443两个端口可用(注意自己公司的防火墙问题,如果有冲突则需要开放该对应端口以使用)。

还有就是建议使用 Subversion身份验证模式。

(具体如果处于域里面则已包含了域验证,相对安全了)一步步Next,安装完毕,默认选择打开操作管理界面(也可以开始->程序->VisualSVN打开操作管理界面)2,添加一个代码库【Repository】右击Repository上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit,点击OK按钮,代码库就创建成功至此,完成代码库创建。

SVN常用命令详解

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使用和SVN常用命令

SVN使用和SVN常用命令

Svnserve –d –r 路径名+文件名Svn://IPSVN使用和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 tempmkdir temp/trunkmkdir temp/tagsmkdir 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 co2、往版本库中添加新的文件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 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客户端操作使用说明

SVN客户端操作使用说明

SVN客户端操作使用说明一、服务端准备1.服务端新建仓库project1,并记录好仓库URL,客户端对应的文件夹数据全部保存在此仓库中,本例仓库URL地址为https://:8443/svn/project1/ 2.二、1.在客户端新建文件夹work c1作为用户c1的工作区,右键work c1选择“SVN检出”,如下图所示2.在弹出的检出对话框中,“版本库URL”指仓库路径;“检出至目录”指的是在客户端的工作目录;由于是空文件夹,检出深度、版本选择默认即可,如下图所示3.由于对仓库设置了权限,所以按确定按钮后,系统会要求认证,在认证窗口中输入c1的用户名密码,如果不想每次都验证,可以勾选“保存认证”,如下图所示4.按确定后,客户端文件夹上会有绿色的勾显示,即代表客户端与服务端建立了通信,如下图所示三、从客户端上传信息至服务端1.在文件夹work c1中新建文件夹word,文本文件test;在word文件夹中新建文本文件word1,word2,word3,所以新建的文件都会被打上问号,如下图所示2.右键work c1,选择“SVN提交”,如下图所示3.在弹出的提交对话框中,上半部分可以写入变更内容,如“c1第一次上传”,在下方的变更列表中可以看到与服务器上的差异,选择全部,确认后同样会弹出认证窗口,输入c1的用户名密码即可,如下图所示4.提交成功后会显示一个成功页面,上面显示了这个提交的内容,并显示版本号,如下图所示5.此时,客户端的文件、文件夹都会打勾,证明已全部上传到服务端,如下图所示四、从服务端下载至客户端1.检出深度(全递归):在客户端新建work r1文件夹,并建立与服务端通讯,操作见上面第二步,检出深度选择全递归,复制全部的信息至客户端,用r1验证即可2.检出深度(直接子节点,包含文件夹):在客户端新建work r21文件夹,右键选择“SVN检出”,在弹出的检出对话框,检出深度选择“直接子节点,包含文件夹”,如下图所示确认后,将从服务端下载数据至客户端,完成后,从客户端可以看到,检出的数据只有word空文件夹,以及text文件,word文件夹中的三个文件均为检出3.检出深度(仅文件子节点):在客户端新建work r22文件夹,右键选择“SVN检出”,在弹出的检出对话框,检出深度选择“仅文件子节点”,如下图所示确认后,将从服务端下载数据至客户端,完成后,从客户端可以看到,检出的数据只有text文件,word文件夹及文件夹中的三个文件均为检出4.检出深度(仅此项):在客户端新建work r23文件夹,右键选择“SVN检出”,在弹出的检出对话框,检出深度选择“仅此项”,如下图所示确认后,将从服务端下载数据至客户端,完成后,从客户端可以看到,没有检出任何数据,文件夹work r23为空5.检出深度(自定义深度):此方法可以根据需要从客户端下载相应的文件,在客户端新建work r24文件夹,右键选择“SVN检出”,在弹出的检出对话框中,单击“选择项”,如下图所示在弹出的认证窗口中输入用户名、密码,确认通过后会弹出版本库浏览器,,可根据需要勾选需要从服务器端下载的文件,如下图所示点击确认后,在检出窗口中检出深度会自动更改为“自定义深度”,如下图所示单击“确定”即可从服务端下载勾选的文件,如下图所示检出过程在客户端文件夹,可看到work r24文件夹内有word文件夹和test文本文件,其中word文件夹中只有word1一个文件,跟当初勾选的项目一致。

svn常用命令总结

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 ubuntu下svn命令使用指南

linux ubuntu下svn命令使用指南

Linux ubuntu下svn的命令使用指南Svn简介:Svn的全名是Subversion,它使用服务端—客户端的结构,当然服务端与客户端可以都运行在同一台服务器上。

在服务端是存放着所有受控制数据的Subversion仓库,另一端是Subversion 的客户端程序,管理着受控数据的一部分在本地的映射(称为工作副本)。

在这两端之间,是通过各种仓库存取层(Repository Access,简称RA)的多条通道进行访问的。

这些通道中,可以通过不同的网络协议,例如HTTP、SSH等,或本地文件的方式来对仓库进行操作。

Subversion是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。

不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。

此外,它支持非ASCII文本和二进制数据,所有这一切都使Subversion不仅对传统的编程任务非常有用,同时也适于Web 开发、图书创作和其他在传统方式下未采纳版本控制功能的领域.Subversion的官方网站是:/大部分的发行版都已经提供Subversion套件,ubuntu下安装subversion客户端:sudo apt-get install subversion使用SubversionSubversion一般使用两种后台服务模式:一种是其自己实现的svnserve,可以通过svn协议访问,另一种是借助mod_dav_svn模块,由Apache http服务器来实现,然后通过HTTP或HTTPS协议来访问。

1、通过svn协议访问svn协议客户端若要通过svn协议访问仓库,必须在存放仓库的机器上运行svnserve服务程序。

启动该程序后,会监听在3690端口,以响应客户端的访问工作。

2、通过HTTP协议访问版本库通过HTTP协议访问版本库是Subversion的亮点之一,这种方式具备许多svnserve服务器所没有的特性,使用上更加灵活。

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

SVN服务端客户端tSVN详细使用手册

SVN服务端客户端tSVN详细使用手册

SVN (Subversion+tortoiseSVN)使用手册编写:高健MSN:hhjtu524@日期:2011-3-28 SVN服务搭建 (2)下载相关软件 (2)安装 (2)SVN服务器信息 (3)SVN服务基本信息 (3)SVN单工程管理 (3)创建版本库 (3)服务启动 (6)SVN工程导入 (7)SVN客户端使用 (9)工程下载 (9)文件对比 (11)文件更新 (12)文件提交 (14)新增文件 (16)删除文件 (18)SVN注册和删除服务 (20)服务注册 (20)服务卸载 (21)SVN多工程管理 (21)SVN的备份说明 (22)完全备份 (23)增量备份 (24)同步版本库 (25)导读:本文包括了服务搭建、工程管理和客户端使用(针对windows平台)等方面。

请注意SVN注册服务、SVN多工程管理(权限配置)、SVN备份说明等章节。

SVN服务搭建下载相关软件服务端Subversion官网:/ or /下载地址:win32svn /projects/win32svn/客户端tortoiseSVN官网:/ or 下载地址:/projects/tortoisesvn安装服务端是以.msi后缀名的安装文件,安装过程就不详细介绍了,按照它的提示一步步操作即可,如下图:实际安装路径是C:\Program Files\Subversion。

TortoiseSVN 客户端安装如下图:客户端的安装完成后会提示系统需要重启。

SVN服务器信息服务器类型:虚拟服务器win2003系统服务器地址:10.88.19.67账户名:administrator密码:123456SVN服务基本信息安装目录:C:\Program Files\Subversion版本库根目录:C:\svnroot(在该目录下建立工程文件夹)SVN单工程管理创建版本库在C:\svnroot\下建立空文件夹project1,然后打开命令窗口,键入svnadmin create C:\svnroot\test1 回车,会在目录C:\svnroot\project1文件夹下相应的文件,目录结构如下图:也可使用客户端工具(服务器本地客户端):新建文件夹C:\svnroot\project2(文件夹下必须是空的),在该文件夹下右击选中TortoiseSVN,如下图:以客户端建立的工程文件结构与使用命令建立完全一致,如下图:目录创建完成后,修改配置文件对版本库进行配置如下:修改配置文件(以下创建以project1为例)在C:\svnroot\project1\conf\ 目录下会看到svnserver.conf、passwd和authz三个文件,其中svnserve.conf是服务总的配置文件,配置访问方式、鉴权等,passwd是账号配置文件,authz是组和访问权限配置文件,目录结构如下图:对svnserve.conf文修改,具体如下图:这段配置文件的基本含义为:anon-access = read 匿名用户的权限,文件中为read表示拥有只读权限auth-access = write 验证通过用户的权限,文件中为write表示拥有写的权限权限包括none、read、write三个值可选,none没有权限,写包含了读权限去掉#注释时,前面不要有空格password-db = passwd密码数据存放到passwd文件中authz-db = authz表示版本库中访问路径的规则,即谁只能访问哪个目录下的文件,其他目录下的文件无法访问。

svn客户端日常操作指南(图解)

svn客户端日常操作指南(图解)

两种方式: 1.在版本库浏览器中创建分支

博客:/alexbxp

在工作副本中创建
博客:/alexbxp
博客:/alexbxp
文件创建分支后可通过Switch选择 在主干工作或者在分支工作 注意: (1)切换操作起来就象更新 因为它没有丢弃我们在本地做的修改。 (2)在工作副本里 当我们进行切换的时候 任何没有提交过的修改都会被混合 解决方法: 1)在切换前提交修改; 2)把工作副本恢复到一个已经提交过的 版本(比如最新版本)。

选择revert 放弃自己所做的修改
博客:/alexbxp


通过上面所说的三种方法,解决冲突后。要选择resolved 解决后,新增的三个文件会自动删除 再选择commit提交到SVN
博客:/alexbxp

及时了解团队中其他成员的进度。


资料共享,避免以往靠邮件发送文件造成的版本混乱的局面; 轻松比较不同版本间的细微差别,适用于纯文本文件(如STAAD命令文件)、 MS OFFICE系列办公软件、WPS OFFICE系列办公软件等,对于mathcad以及 autocad等生成的二进制文件,目前只能靠肉眼比较。

删除忽略文件
如果你想从忽略列表中移除一个或多个 条目右击这些条目选择 TortoiseSVN → 从忽略列表删除
注意:已进入版本控制的文件或目录不能够忽略
博客:/alexbxp


如果你想要撤消一个文件自上次更新后的所有的变更,你需要选择该 文件, 右击弹出快捷菜单,然后选择 ·TortoiseSVN → Revert (还原)
毕小朋制作
博客:/alexbxp
声明:内容源自网络

python3 操作 svn 命令和模块使用方法 -回复

python3 操作 svn 命令和模块使用方法 -回复

python3 操作svn 命令和模块使用方法-回复Python3 中可以通过操作系统命令或使用相关模块来执行svn 命令。

接下来,我们将详细介绍如何使用Python3 来操作svn 命令以及相关模块的使用方法。

# 什么是SVN?Subversion(也称为SVN)是一个开源的版本控制系统,被广泛用于协同开发和源代码管理。

它允许多个用户同时工作,记录文件的版本历史,并可在不同版本之间进行切换和合并。

# Python3 中的SVN 命令在Python3 中,我们可以使用`subprocess` 模块来执行操作系统命令,从而调用svn 命令。

这个模块允许我们创建新的进程,连接到它们的输入/输出/错误管道,并且获取返回码。

以下是使用Python3 调用svn 命令的示例代码:pythonimport subprocessdef execute_svn_command(command):process = subprocess.Popen(command.split(),stdout=subprocess.PIPE, stderr=subprocess.PIPE)output, error = processmunicate()if process.returncode != 0:print(f"Command failed with error: {error.decode('utf-8')}") else:print(f"Command output: {output.decode('utf-8')}")# 示例用法execute_svn_command("svn update")execute_svn_command("svn commit -m 'Commit message'")在上述代码中,我们定义了一个名为`execute_svn_command()` 的函数,它将接收一个svn 命令作为参数并执行它。

【山外笔记-SVN命令】svn命令详解

【山外笔记-SVN命令】svn命令详解

【⼭外笔记-SVN命令】svn命令详解本⽂打印版⽂件下载地址⼀、命令简介svn命令⽤于Subversion命令⾏客户端,执⾏svn相关的操作。

⼆、命令语法1、svn语法:(1)svn语法:svn <subcommand> [options] [args](2)查看svn⼦命令帮助信息:svn help <subcommand>(3)查看SVN当前版本的依赖库:svn --version --verbose(4)仅查看SVN版本库版本号:svn --version --quiet2、svn⼦命令(1)svn help(?, h):描述本程序或其⼦命令的⽤法。

(2)svn checkout(co):从版本库中检出⼯作副本。

(3)svn add:添加新建⽂件和⽬录到版本控制中。

(4)svn delete(del, remove, rm):从版本控制中删除⽂件或⽬录。

(5)svn status(stat, st):查看⼯作副本的⽂件或⽬录的状态信息。

(6)svn revert:恢复原始的⼯作拷贝状态(撤销本地更改)。

(7)svn commit(ci):提交⼯作副本中的修改到版本库。

(8)svn diff(di):显⽰两个修订或路径之间的局部更改或差异。

(9)svn info:显⽰关于本地或远程项的信息。

(10)svn list(ls):列出指定版本库路径下的⽂件或⽬录列表。

(11)svn log:显⽰⽂件或⽬录修改的⽇志信息。

(12)svn update(up):将版本库的变更同步到⼯作副本。

(13)svn upgrade:升级⼯作副本的元数据存储格式。

(14)svn copy(cp):复制⼯作副本或版本库中的⽂件或⽬录,可⽤于创建分⽀。

(15)svn merge:合并变更到⼯作副本,可⽤于合并分⽀。

(16)svn mergeinfo:显⽰合并相关的信息。

(17)svn mkdir:在版本控制中创建新⽬录。

svn常用命令

svn常用命令

svn常⽤命令命令的使⽤1、检出3、添加新⽂件svn add ⽂件名注:告诉SVN服务器要添加⽂件了,还要⽤svn commint -m真实的上传上去!例⼦:svn add test.php <-添加test.phpsvn commit -m “添加我的测试⽤test.php“test.phpsvn add *.php <-添加当前⽬录下所有的php⽂件svn commit -m “添加我的测试⽤全部php⽂件“*.php4、提交svn commit -m “提交备注信息⽂本“ [-N] [--no-unlock] ⽂件名svn ci -m “提交备注信息⽂本“ [-N] [--no-unlock] ⽂件名必须带上-m参数,参数可以为空,但是必须写上-m例⼦:svn commit -m “提交当前⽬录下的全部在版本控制下的⽂件“ *<-注意这个*表⽰全部⽂件svn commit -m “提交我的测试⽤test.php“test.phpsvn commit -m “提交我的测试⽤test.php“-N --no-unlock test.php<-保持锁就⽤–no-unlock开关svn ci -m “提交当前⽬录下的全部在版本控制下的⽂件“ *<-注意这个*表⽰全部⽂件svn ci -m “提交我的测试⽤test.php“test.phpsvn ci -m “提交我的测试⽤test.php“-N --no-unlock test.php<-保持锁就⽤–no-unlock开关5、更新⽂件svn updatesvn update -r 修正版本 ⽂件名svn update ⽂件名例⼦:svn update <-后⾯没有⽬录,默认将当前⽬录以及⼦⽬录下的所有⽂件都更新到最新版本svn update -r 200test.cpp <-将版本库中的⽂件 test.cpp还原到修正版本(revision)200 svnupdate test.php<-更新与版本库同步。

源代码管理工具-SVN使用手册大全(客户端)

源代码管理工具-SVN使用手册大全(客户端)

目录1.SVN客户端使用说明 (1)1.1.安装SVN客户端 (1)1.2.迁出配置库内容 (1)1.3.维护工作文件 (3)1.3.1.增加文件 (3)1.3.2.更新文件 (7)1.3.3.删除文件 (8)1.3.4.修改文件 (8)1.3.5.比较版本差异 (9)1.3.6.撤销更改 (12)1.3.7.锁定和解锁 (12)1.3.8.重命名文件 (12)1.3.9.获取历史文件 (13)1.3.10.检查冲突 (13)1.3.11.解决冲突 (14)1.3.12.忽略无需版本控制的文件 (15)1.3.13.去除SVN标志 (15)1.3.14.查看文件每行的修改信息 (16)1.3.15.重置访问路径 (17)1.3.16.本地路径转换 (17)1.4.浏览版本库 (17)1.5.建立标签 (17)1.6.建立分支 (17)1.7.清除用户名等信息 (18)1.8.统计信息 (19)1.9.SVN数据同步 (22)2.VISUAL STUDIO集成SVN (23)2.1.安装V ISUAL SVN (23)1. SVN客户端使用说明1.1. 安装SVN客户端安装SVN客户端(TortoiseSVN-1.8.7.25475-x64-svn-1.8.9.msi):双击安装包→Next→选中“I accept the terms in the license Agreement”→Next→Install→选中“Show Changelog”→Finish→点击“Yes”按钮重新启动电脑。

SVN客户端的存放位置为:注意:安装SVN客户端后需重启电脑,否则SVN客户端无法正常使用。

可以下载TortoiseSVN的中文语言包,根据向导运行语言包安装程序,重新启动程序后,即可看到中文菜单。

所有的TortoiseSVN命令都是通过windows资源管理器的右键菜单执行。

1.2. 迁出配置库内容1、在本地硬盘上建立一个文件夹“SVN”,并在文件夹“SVN”中建立一个子文件夹(子文件夹为空文件夹),子文件夹的名称可以根据本公司配置库路径下的对应文件夹名称进行定义。

svn的常用命令

svn的常用命令

svn的常用命令
SVN(Subversion)是一个开源的版本控制工具,它可以帮助开发者管理代码的历史版本,协同开发,协调多人开发时的代码变更,防止代码冲突等问题。

下面是SVN的常用命令:
1. svn checkout:从SVN服务器上下载一个版本库到本地电脑。

2. svn update:更新本地版本库到最新版本。

3. svn commit:将本地修改推送到远程服务器。

4. svn add:将新文件添加到版本库中。

5. svn delete:删除文件或文件夹。

6. svn status:查看当前目录下所有文件和子目录的状态。

7. svn log:查看版本库的历史记录。

8. svn diff:比较本地文件和服务器上的文件的差异。

9. svn merge:将不同分支上的代码进行合并。

10. svn revert:撤销本地修改,恢复到之前的版本。

以上是SVN的常用命令,掌握这些命令可以帮助开发者更好地使用SVN进行版本控制,提高代码管理的效率。

- 1 -。

SVN基本配置

SVN基本配置

SVN基本配置
一、服务端配置:
1.安装svn服务器端
2.命令行下创建svn版本库
运行-->cmd-->svnadmin create 文件夹地址(E:\svn)3.修改版本库配置文件,
conf文件夹下:svnserve.conf 修改配置文件
anon-access = read
auth-access = write
password-db = passwd
authz文件:为用户设置访问权限,在最后写yangguo = rw passwd文件:最后写 yangguo(用户名) = 123(密码)4.开启svn服务器 svnserve -d -r 版本库路径(E:\svn)
二、客户端配置:
1.安装svn客户端
2.桌面右键访问TortoiseSVN-》repo-browser
3.输入访问地址:svn://localhost
三、多人使用SVN时修改配置
conf文件夹下:svnserve.conf 修改配置文件anon-access = read
auth-access = write
password-db = passwd
authz文件:为用户设置访问权限,在最后写[/]
wang=rw
[/first]
first=rw
[/second] second=rw
[/third]
third=rw
[/forth]
forth=rw
[/fifth]
fifth=rw
passwd文件:最后写
wang=123
first=111 second=222 third=333 forth=444 fifth=555。

TortoiseSVN使用说明书(超详细)

TortoiseSVN使用说明书(超详细)

一、TortoiseSVN客户端的安装1.客户端软件:TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi下载:\\10.0.0.127\share\SVN\SVN 客户端中文语言包:LanguagePack_1.7.12.24070-win32-zh_CN.msi下载:\\10.0.0.127\share\SVN\SVN 客户端\语言包(客户端安装在系统的默认位置,不需要特殊的配置,安装完成后需要重新起动系统, 重启之后鼠标的右键菜单会多出这么一组命令)2. 中文语言包的安装如下:二、Subversion基本工作流程这部分最重要,也是大家经常要用到的,即如何利用TortoiseSVN客户端对subversion库中的文件进行操作。

1.如何把subversion库中已经保存的文件版本检出到本地、并作修改后提交、从服务器端更新本地文件的版本。

检出到本地:初次检出到本地文件夹时,在本地新建一个空文件夹,具体操作如下图:如果要检出最新的版本可选中上图的(最新版本(H))单选按钮。

如果想检出自己需要的版本可选中上图的(版本(R))单选按钮,然后选择自己需要的版本文件。

在弹出的对话框中输入自己的用户名和密码。

修改文件后提交:(修改文件夹中的内容后文件夹会自动变成带有红色标记)在信息框中为修改的文件添加说明信息。

如下图在变更列表中选中更变的文件。

如下图点击确定后会提示输入用户名和密码。

从服务器端更新本地文件的版本:如果服务器上的版本库已经是第7版本,自己本机的版本还是第1版本。

这时你可以更新自己本地的版本为第7版本。

添加项目文件至版本库:在项目开发的过程中会添加新的项目文件,这个时候要将文件提交到版本库中去,这样别的开发人员也可以看到新添加的文件。

首先在工作目录中添加一个新的文件夹或文件,图标显示为一个加号,显示如图:然后右键单击该页面,点击commit,如图:点击commit提交。

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(更新,于版本库同步。

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

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。

5、modify用文本编辑器或IDE对文件修改后,文件的状态图标会变化,然后单击右键,SVN Commit... 即可提交修改。

6、revert(1)、放弃未提交的修改,单击右键,TortoiseSVN->Revert,本地的WC中的文件和目录会恢复到修改前的状态。

(2)、回复到之前某个revision状态:a、在本地WC中单击右键,TortoiseSVN->Update to Revision...,然后输入你想要回复到的Revision号点OK按钮。

此时仅仅是WC中回复到特定版本,对Repository没有任何影响。

b、把Repository回复到某个revision状态方法:方法一:先执行Update命令将Working Copy更新到最新的Revision,然后在Working Copy中单击右键,TortoiseSVN->Show Log,弹出的Log Messages窗口中会显示该Repository的所有Revision,选中最新的Revision,之后按住Shift键,再单击你想回复到的Revision+1的那个Revision(比如Repository的最新Revision是79,你想将Repository的状态回复到Revision60,那么就选中Revision70,再按住Shift键,选中Revision61,就是说选中Revision61到Revision79之间的所有Revision)。

然后在选中的Revision上单击右键,选中“Revert changes from these revision”。

再点Yes按钮,就可以将WC的状态回复到目标Revision60。

注意:此时只是WC回复到目标Revision,之后应该用Commit提交修改,这样Repository最新状态就与WC的状态一致,都为 Revision60。

方法二:采取大版本号向小版本号merge的方式,进行回滚保证我们拿到的是最新代码,TortoiseSVN右键 merge,如果我们最新版本为79,要回滚到60,如下图,“From”的URL和“to”的URL均了录入要回复的文件在版本库的存放地址点“merge”,然后commit即可。

7、delete删除文件时,选中要删除的文件或目录,单击右键,TortoiseSVN->Delete然后提交修改。

注意千万不要用windows自己的“删除”或者“Delete”键来删除文件,否则将无法提交你的修改。

这一点对目录的删除来说尤为重要。

因为每个目录里有个 .svn隐藏目录,存放目录下文件的信息,使用操作系统命令delete/move时, .svn还指向原来的位置,所作操作不受SVN控制。

8、move移动方法:(1)、选择你要移动的文件或目录(2)、拖拽(right-drag)他们到新的工作副本下,(3)、松开鼠标右键(4)、在弹出菜单选择上下文菜单→ SVN 移动文件。

原理同上。

9、Branche/Tag操作方法:创建分支非常简单,只需在需要创建分支的工作目录上,使用TortoiseSVN → Branch/Tag 命令,在 "To URL" 项指定待创建的分支 url 即可实现本质:subversion对分支和标签是通过复制一份最新的版本库的快照来实现的。

一般情况下,tag,是用来做一个milestone的,不管是不是release,都是一个可用的版本。

这里应该是只读的,更多的是一个显示用的,给人一个可读(readable)的标记;branch,是用来做并行开发的,这里的并行是指和trunk进行比较。

分支与标签的区别:在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。

至于何时用tag,何时用branch,完全由人主观的根据规范和需要来选择,而不是强制的(比如cvs),一个不去做任何的修改的分支就是版本库某一时刻的一个快照,相当于为某一个版本做了一个标签Branch和Tag都是拷贝指向原始文件的链接,当你对拷贝做修改时,记录为相对原始文件的修改,称为延迟拷贝,效率高且几乎不占用空间。

Tag:版本号是个好东西,但是我们更倾向于记住像第二预览发布版这样的名字,而不是V01这样的数字,标签是用来做这件事情的。

版本控制系统可以让你给某一个时刻的一组文件或者一些目录或者整个项目分配一个名字。

如果你个某几个文件分配标签“第二发布预览版”,以后就能使用这个标签签出它们。

标签是一种很好地跟中项目代码开发过程中发生的重要事件的方式。

分支合并:使用TortoiseSVN → Merge命令,在“ From:(start URL and revision of the range to merge) ”中选择希望合并的目录 ( 如: trunk) ,并指定希望合并的开始 revision 编号,在“ To:(end URL and revision of the range to merge) ”中选择结束 revision 编号。

然后点击“ merge ”完成合并操作,剩下的工作就是编辑冲突了。

当然运气好的话是不需要这个过程滴。

值得注意的是,“ From: ”和“ To: ”中的 URL 通常是相同的,切记不要与创建分支时的含义混淆10、get lock/release lock选择工作副本中你想要获取锁定的文件,然后选择命令TortoiseSVN ---> Get lock…出现一个对话框,允许你输入注释,这样别人知道你为什么锁定这个文件。

注释是可选的,并且只用于基于Subversion 的库。

选择需要锁定的文件在复选框打勾,点击“确定”按钮锁定选择的文件:出现一个对话框,输入正确的用户名和密码即可向版本库提交你想锁定文件的信息。

锁定文件成功!返回信息!”Locked by admin”表示文件已被admin 用户锁定;”alpay_payto.php”表示锁定文件的名称。

点击”OK”按钮确定锁定文件成功。

释放锁定(取消锁定)选择工作副本中你想要取消锁定的文件,然后选择命令TortoiseSVN ---> Release lock…之后操作同get lock。

当被锁定文件commit后,会自动解锁,无需再去解锁;如果commit后还需上锁,则在commit 时可选择:“keep lock”强制锁定:设置对象文件svn:needs-lock这个属性,update后强制文件的属性为只读,只有lock之后,才能对文件进行修改操作,commit-release lock之后,又自动变成只读。

具体做法:先将a.jpg文件拷贝到WC中,然后在该文件上单击右键,TortoiseSVN->Add,告诉Subversion要将该文件纳入版本控制,接着在该文件上单击右键并选中属性,在弹出的属性对话框中选中Subversion页。

在下拉框中选中“svn:needs-lock”,并在下面的文本框中填入“*”(其实这里填什么都无所谓,只要文件有“svn:needs-lock”附加属性就行),之后点Set按钮,“svn:needs-lock”附加属性就设置好了。

然后执行Commit命令提交修改。

这时当其他人执行Update时,a.jpg就会添加到他们的WC中,并且文件的附加属性也会随文件一起被得到。

可以看到a.jpg此时的图标就是灰色的,文件的Windows属性也是只读的11、clean upSVN 本地更新时,由于一些操作中断更新,如磁盘空间不够,用户取消,可能会造成本地文件被锁定的情况。

一般出现这种情况的解决方法:(1)、可以使用SVN clean up来清除锁定。

(2)、如果不是本目录锁定,系统提示上一层目录锁定,需要到上一层或者根目录中清除。

(3).如果在根目录下都无法clean的话,一般采取的方法是另外找一个目录重新check out。

但有时SVN目录下可能有一些自己本地修改的文件,还未提交到SVN服务器,这时重新check out需要注意本地文件的备份,并且不要强制覆盖服务器上其它人修改的内容。

(4)、如果觉得第3种很麻烦,可以考虑这样的方法。

其实SVN加锁会在.SVN(隐藏文件)中生成一个名字叫lock的文件(无后缀),查找所有的手工删除。

然后再尝试更新,系统可能会提示某个.base文件无法访问。

找到它,把相关的文件或其所在的目录删除,重新update。

工作量就小多了。

12、export集成测试或项目上线需要版本时,使用export而不用checkout,export 得到干净的目录与文件,不带版本控制因素。

相关文档
最新文档