SVN常用命令(WINDOWS)
- 格式:pdf
- 大小:96.62 KB
- 文档页数:3
Windows下SVN的备份方案版本控制最关键的一件事是保证数据的安全性,不能因为磁盘损坏,程序故障造成库的无法挽回的错误,为此必需制定较完备的备份策略.在subversion中,我们有三种备份方式:完全备份,增量备份和同步版本库.1,完全备份:最常见和简单的备份就是直接使用拷贝命令,将版本库目录拷贝到备份目录上,就可以了.但是这样不是很安全的方式,因为如果在拷贝时版本库发生变化,将会造马备份的结果不够准确,失去备份的作用,为此xubversion 提供了"svnadmin hotcopy"的命令,可以防止这种问题.比如有如下的版本库:D:/svnroot├─project1│├─conf│├─dav│├─db││├─revprops││├─revs││└─transactions│├─hooks│└─locks└─project2├─conf├─dav├─db│├─revprops│├─r evs│└─transactions├─hooks└─locks如果要把project1备份到D:/svnrootbackup目录下,只需要运行:svnadmin hotcopy d:/svnroot/project1 d:/svnrootbackup/project1ps:如果我们目录下有很多版本库,需要为每个版本库写这样一条语句备份,必需想办法优化这个过程.为此,建立以下的2个bat文件.simplebackup.bat:@echo 正在备份版本库%1......@%SVN_HOME%/bin/svnadmin hotcopy %1 %BACKUP_DIRECTORY%/%2@echo 版本库%1成功备份到了%2!backup.bat:echo offrem Subversion的安装目录set SVN_HOME="D:/Subversion"rem 所有版本库的父目录set SVN_ROOT=D:/svnrootrem 备份的目录set BACKUP_SVN_ROOT=D:/svnrootbakset BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%/%date:~0,10%if exist %BACKUP_DIRECTORY% goto checkBackecho 建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log mkdir %BACKUP_DIRECTORY%rem 验证目录是否为版本库,如果是则取出名称备份for /r %SVN_ROOT% %%I in (.) do @if exist"%%I/conf/svnserve.conf" %SVN_ROOT%/simplebackup.bat "%%~fI" %%~nI goto end:checkBackecho 备份目录%BACKUP_DIRECTORY%已经存在,请清空。
svn 右键菜单svn 右键菜单收藏TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。
通过使用它,我们可以可视化的管理我们的版本库。
不过由于它只是一个客户端,所以它不能对版本库进行权限管理。
TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。
TortoiseSVN每个菜单项都表示什么意思01、SVN Checkout(SVN取出)点击SVN Checkout,弹出检出提示框,在URL of repository 输入框中输入服务器仓库地址,在Checkout directory输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。
02、SVN Update(SVN更新)如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update即可,点击SVN Update,系统弹出更新提示框,点击确定,则把服务器是最新版本更新下来03、Import(导入)选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统弹出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击确定,则文件导入到服务器仓库中。
04、Add(加入)如果有多个文件及文件夹要提交到服务器,我们可以先把这些要提交的文件加入到提交列表中,要执行提交操作,一次性把所有文件提交,如图,可以选择要提交的文件,然后点击执行提交(SVN Commit),即可把所有文件一次性提交到服务器上05、Resolving Conflicts(解决冲突)有时你从档案库更新文件会有冲突。
冲突产生于两人都修改文件的某一部分。
解决冲突只能靠人而不是机器。
当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。
1、Windows下SVN服务器的安装配置SVN全称Subversion,是一款开源的版本控制系统,支持在本地访问或通过网络访问数据库和文件系统存储库。
不但提供了常见的比较、修补、标记、提交、回复和分支等功能,SVN还增加了追踪移动和删除的能力。
此外,它支持非ASCII文本和二进制数据,所有这一切都使SVN不仅对传统的编程任务非常有用,同时也适用于Web开发、图书创作和其他在传统方式下未采纳版本控制功能的领域。
1.1 SVN的基本原理SVN是一种集中的分享信息的系统,它的核心是版本库,它存储所有的数据,版本库按照文件树形式存储数据,包括文件、目录。
任意数量的客户端可以连接到版本库,读写这些文件。
通过写,别人可以看到这些信息,通过读数据,可以看到别人的修改。
SVN可以通过多种方式访问:本地磁盘访问,或各种各样不同的网络协议,但一个版本库地址永远都是一个URL。
“版本库访问URL”描述了不同的URL模式对应的访问方法,如表7-1所示:表7-1:不同的URL模式对应的访问方法修订号代表了一次提交后版本库整个目录树的特定状态,另一种理解是修订号N代表版本库已经经过了N此提交。
因此,当我们在使用SVN时,如果谈及“foo.c的修订号5”时,实际的意思就是“在修订号为5时的foo.c”。
修订号N和M并不一定表示一个文件是不同的。
其他的版本控制工具,例如CVS,则使用每一个文件一个修订号的做法。
1.2 SVN的下载与安装读者可以下载SVN的服务器安装文件:svn-1.4.0-setup.exe;Windows客户端安装文件:TortoiseSVN-1.6.11.20210-win32-svn-1.6.13;在客户端使用方面可以使用TortoiseSVN客户端,当作为软件开发人员一般会在Eclipse 开发工具中按照SVN相关插件。
1.3 创建资源库安装完SVN的服务器端和客户端之后,需要创建SVN库,方法是进入命令行,执行理工具,通过svnadmin -?可以查看可用的命令,如果所示:1.4 运行SVN服务其中参数d表示以后台模式运行SVN服务,参数r用于指定服务根目录(即SVN库所在根目录)。
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。
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…”,出现操作窗口。
svn checkout代码摘要:1.SVN 简介2.SVN 基本命令3.SVN checkout 命令的作用4.SVN checkout 命令的使用方法5.SVN checkout 命令的实际应用正文:1.SVN 简介SVN,全称Subversion,是一款开源的版本控制系统,用于管理代码和其他文本文件。
它采用客户机/服务器模式,使得开发者可以共同协作开发项目。
SVN 具有较强的可扩展性和跨平台性,广泛应用于软件开发领域。
2.SVN 基本命令SVN 提供了许多基本命令,例如:svn add、svn commit、svn delete、svn update 等。
这些命令分别用于将文件添加到版本控制、提交更改、删除文件和更新代码等操作。
熟练掌握这些基本命令,对于使用SVN 进行代码管理至关重要。
3.SVN checkout 命令的作用SVN checkout 命令用于从SVN 服务器上检出(check out)代码到本地计算机。
执行该命令后,您可以在本地计算机上查看、编辑和提交代码。
简单来说,svn checkout 命令就是将服务器上的代码复制到本地计算机的过程。
4.SVN checkout 命令的使用方法要使用SVN checkout 命令,您需要首先打开命令行工具(例如Windows 下的命令提示符或Mac 下的终端)。
然后,输入以下格式的命令:```svn checkout 地址```其中,地址是指SVN 服务器上的代码仓库地址。
执行该命令后,代码仓库中的所有文件和文件夹将被检出到本地计算机。
5.SVN checkout 命令的实际应用以一个简单的例子来说明SVN checkout 命令的实际应用。
假设您和您的团队成员共同开发一个项目,并且项目代码托管在一个SVN 服务器上。
您可以通过以下步骤检出代码:1.打开命令行工具。
2.输入svn checkout 命令,后面跟上SVN 服务器上的代码仓库地址。
Windows 环境架设SVN服务器硬件设备:PC机软件设备:xp 或者windows2003 ,TortoiseSVN-1.6.14.21012-win32-svn-1.6.16.msi:SVN客户端Setup-Subversion-1.6.16.msi:SVN安装程序SVNService.rar:svn服务命令AnkhSvn-2.1.8420.8.msi部署:1、安装svn服务器端安装Setup-Subversion-1.6.16.msi,我把这个安装在“C:\Program Files\Subversion”目录。
和AnkhSvn-2.1.8420.8.msi(默认安装即可)2、安装TortoiseSVN-1.6.14.21012-win32-svn-1.6.16.msi。
以上两步中的安装选择均选默认。
重启电脑(客户端软件)3、因为这个软件开机就要用,所以对开发者来讲把它安装成一个服务是最好的(这样电脑一启动这个软件的服务器就运行了,要不然你要到命令行模式去手工启动服务)。
下面就来讲述怎么样把它设置成一个服务。
1) 把“SVNService.exe”拷贝到“C:\Program Files\Subversion\bin\”2) 在D盘新建文件夹d:\svn. 进入命令行模式:开始菜单--运行--进入“C:\Program Files\Subversion\bin\”这个目录。
打入命令:svnservice -install -d-r "d:\svn"。
(这一步很重要很重要,以前我就是这一步误解走了很多弯路)。
具体详细介绍见3.3。
把它设为自动启动:开始菜单--控制面板--性能维护--管理工具--服务,进去以后你会在服务列表中看到svnservice这个服务,右击--把它设为自动启动(这样开机的时候这个服务也启动了)3) 这里就是把“d:\svn” 这个目录指定为SVN版本控制的服务目录(网上很多帖子把上面这个命令称作建立仓库是不对的)其实这个目录应该称作仓库所在的目录,假如我有有三个仓库:repository_1,repository_2,repository_3他们的位置应该是:d:\svn\repository_1, d:\svn\repository_2,d:\svn\repository_3。
一. 安装服务器(Windows)1.解压假设解压到F:\svn解压后文件列表如下:2.设置环境变量添加SVN_HOM=F:\svn设置PATH=%SVN_HOME%\bin添加SVN_EDITOR=notepad.exe3.创建仓库使用svnadmin create 仓库绝对路径命令svnadmin create F:\svn\svn_repository该命令会在F:\svn\svn_repository生成一些目录和配置文件4.修改配置文件到F:\svn\svn_repository目录下passwd文件–/conf目录下用于存放本svn库的用户名和密码,用= 分割,如:用户名= 密码;左边是用户名,右边是密码(明文)。
authz –/conf目录下用于存放本svn库的访问授权信息。
svnserve.conf — /conf目录下用于存放本svn库的全局访问控制信息用文本编辑器打开svnserve.conf加上两句[general]password-db = passwd打开同目录下同目录的passwd文件(设置用户密码)加上svnadmin = adminuser = user打开同目录的authz文件,它定义了两部分的内容:1,对组成员的定义,2,对目录的授权定义,可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,授权的选项有:只读访问(‘r’),读写访问(‘rw’),或者无权防问(”).加[/]svnadmin,user = rw二.启动svnserve -d -r 项目主目录绝对路径svnserve -d -r F:\svn\svn_repository服务器已启动三.安装SVN客户端1.安装2.连接SVN服务器安装完毕后任意位置右键弹出菜单,如下图选择将列出选择URL填svn://127.0.0.1点击OK按钮这就是我建立的资源仓库文件树3.上传文件至资源库选中要上传的内容的父文件夹右键该文件夹选择选择点击OK要求输入用户名密码将刚才在passwd文件定义的用户名密码填入点击OK参考第2步的描述即可查看上传到资源库的文件三.从服务器检出文件到本地任意位置新建文件夹,假设在桌面建立project文件夹右键该文件夹选择点击OK文件已检出到project打开project文件夹四.备份运行命令:svnadmin dump 要备份资源库绝对路径>备份目的地文件绝对路径五.恢复创建恢复目的资源库:svnadmin create 资源库绝对路径恢复到资源科:svnadmin load 目标资源库绝对路径<备份文件。
TortoiseSVN客户端的日常使用开始 (4)图标重载 (4)右键菜单 (4)拖放 (6)常用快捷方式 (7)认证 (7)检出工作副本 (8)重要 (8)重要 (9)让你的修改进入版本库 (9)提交文件还是文件夹? (10)在提交对话框中有很多未受控的文件 (10)拖放 (10)修复外部改名 (11)用来自别人的修改更新你的工作复本 (12)小心 (14)多文件/文件夹 (14)本地文件已经存在 (14)解决冲突 (15)获得状态信息 (16)图标重载 (16)在Windows 资源管理器中的 TortoiseSVN 列 (17)提示 (18)本地与远程状态 (18)提示 (19)修复外部改名 (19)查看差别 (19)提示 (19)版本日志对话框 (20)调用版本日志对话框 (20)获得更多信息 (21)获取更多的日志信息 (24)修改日志消息和作者 (25)警告 (25)过滤日志信息 (25)统计信息 (25)查看差异 (27)文件差异 (27)比较文件夹 (29)使用TortoiseIDiff 进行比较的图像 (30)其他的比较/合并工具 (30)添加新文件和目录 (31)更多 (32)撤消更改 (32)取消已经提交的改变 (33)清理 (33)使用提交时戳 (33)谁修改了哪一行? (34)追溯文件 (34)追溯不同点 (35)本文目的在与描述TortoiseSVN客户端的日常使用。
不是一个版本控制系统指南,也不是Subversion (SVN)的指南。
本文档的价值在于,当你知道大概要做什么,却又记不起应该怎么做的时候,可以有个参考的地方。
如果你需要了解使用Subversion进行版本控制的指南,我们建立你阅读以下这本梦幻之书: 《使用Subversion 进行版本管理》.本文档与TortoiseSVN和Subversion一样,也是处于“正在开发”的状态。
如果你找到了错误之处,请向邮件列表报告,这样我们就可以更新它。
svn使用指南windows环境版SVN是一个开源版本控制系统,能够有效地管理和追踪项目的变化。
在Windows环境下,可以使用TortoiseSVN来进行SVN操作。
本文将为您提供SVN的使用指南。
1. 安装TortoiseSVN2.创建SVN仓库2.1在本地选择一个文件夹,用于存放SVN仓库。
2.2 右键点击该文件夹,在弹出菜单中选择“Create repository here”。
2.3 在弹出的对话框中,选择“Yes”来创建Trunk、Tags和Branches目录结构。
3.导入项目至SVN仓库3.1在本地选择一个文件夹,用于存放项目文件。
3.2将项目文件拷贝到该文件夹中。
3.3 右键点击该文件夹,在弹出菜单中选择“TortoiseSVN”->“Import”。
3.4 在弹出的对话框中,填写SVN仓库的URL(如file:///C:/SVN/repos/project)和相关描述信息,点击“OK”进行导入。
4.创建工作副本4.1在本地选择一个文件夹,用于存放工作副本。
4.2 右键点击该文件夹,在弹出菜单中选择“SVN Checkout”。
4.3 在弹出的对话框中,填写SVN仓库的URL(如file:///C:/SVN/repos/project)和工作副本目录,点击“OK”进行创建。
5.提交更改5.1在工作副本中对项目文件进行修改。
5.3在弹出的对话框中,填写提交说明,点击“OK”进行提交。
6.更新工作副本6.1 右键点击工作副本文件夹,在弹出菜单中选择“TortoiseSVN”->“Update”。
6.2在弹出的对话框中,点击“OK”进行更新。
7.查看项目历史7.1 右键点击项目文件,在弹出菜单中选择“TortoiseSVN”->“Show log”。
7.2在弹出的对话框中,即可查看项目的提交历史和相关信息。
8.分支和合并8.1 右键点击项目文件,在弹出菜单中选择“TortoiseSVN”->“Branch/Tag”。
SVN使用手册——命令行模式1SVN概述SVN的全称Subversion,和VSS一样用来有效地管理代码和版本。
同样我们可以进行修改、对比版本、获得版本的历史信息等操作。
1.1 SVN使用环境及安装SVN的使用环境:SVN可在Linux系统使用,安装系统时如果选择了自带Subversion,无需安装即可使用命令行。
Windows系统需安装Subversion以便在命令行中使用SVN命令;也可安装TortoiseSVN(“小乌龟”),不用敲SVN命令直接通过右键菜单执行。
目前北研所的SVN使用基于TCP/IP协议的Apache服务器,使我们可以通过http地址来访问版本库。
平台Linux系统Windows平台操作方法命令行浏览器命令行界面/右键浏览器安装方式安装Linux的时候选择“开发用”则自带,否则需另安装SVN包。
无需安装,直接在地址栏输入版本库的http地址安装Subversion安装TortoiseSVN(“小乌龟”)无需安装,直接在地址栏输入版本库的http地址优缺点能查看最新及历史版本,能修改只能查看最新版本,不能修改能查看最新及历史版本,能修改能查看最新及历史版本,能修改,右键直接操作。
只能查看最新版本,不能修改本文介绍在Windows平台下SVN命令行工具svn的使用。
安装文件:Subversion ——svn-1.4.6-setup.exe TortoiseSVN——TortoiseSVN-1.4.6.11647-win32-svn-1.4.6.rar文件的具体地址,请参考下文“2.1”章节的介绍。
1.2SVN工作原理说明1.2.1版本库(repository)SVN所有的数据都存储在版本库中并被任意客户端用户分享。
客户端用户通过网络连接到版本库,读写这些文件并使其他人可以看到这些修改。
1.2.2工作拷贝(workcopy)工作拷贝是版本库中文件和目录在本地的映射。
用户并行工作,各自修改本机的私有目录和文件,最终把修改“提交”至版本库成为最终的版本。
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<-更新与版本库同步。
WINDOWS下搭建SVN服务器端的步骤在Windows操作系统下搭建SVN服务器端的步骤如下所示:2. 安装Subversion软件3.创建版本库打开命令行窗口,切换到合适的目录下,使用以下命令创建版本库:```svnadmin create <版本库路径>```其中,`<版本库路径>`是新创建版本库的存放路径,可以根据自己的需要选择合适的路径。
4.配置访问权限在`svnserve.conf`文件中,可以设置一些SVN服务器的配置选项。
例如,可以设置允许匿名访问,设置是否允许修改提交日志等。
在`passwd`文件中,可以设置SVN服务器的用户和密码。
每行代表一个用户的信息,格式为`用户名=密码`。
5.启动SVN服务器在命令行窗口中,使用以下命令启动SVN服务器:```svnserve -d -r <版本库路径>```其中,`<版本库路径>`是上述步骤创建版本库时指定的路径。
6.验证SVN服务器的运行状态在浏览器中输入`svn://localhost`,如果能够正常显示SVN服务器的验证信息,则说明SVN服务器已经成功运行。
至此,SVN服务器已经搭建完成。
根据需要,可以对版本库进行权限设置、添加用户、创建项目等操作。
可以使用SVN客户端工具进行后续的版本控制操作。
注意事项:- 确保安装的Subversion软件和操作系统的位数相匹配,即32位系统安装32位软件,64位系统安装64位软件。
- 在Windows系统中,可以将SVN服务器作为服务来启动,这样可以实现开机自动启动,并且在后台运行。
可以使用`sc`命令将SVN服务器注册为服务,具体操作可以参考官方文档或者相关教程。
-在配置访问权限时,可以根据需要设置不同的访问级别,包括读取权限、写入权限、修改权限等。
可以根据项目需求进行灵活配置。
Windows下安装Subversion服务端和TortoiseSVN客户端详细教程Subversion(简称SVN)是一种版本控制系统,它可以跟踪和管理任何类型的文件和目录的变化,可以帮助团队协作开发和管理项目。
TortoiseSVN是Windows平台下的一个Subversion客户端,它集成在Windows资源管理器中,使用起来相对简单便捷。
下面是Windows下安装Subversion服务端和TortoiseSVN客户端的详细教程。
一、安装Subversion服务端2.运行安装程序在安装向导中,根据自己的需要选择合适的组件进行安装。
通常,只需要选择包含Subversion命令行客户端和Apache HTTP服务器模块的组件。
选择安装路径,建议选择默认路径(C:\Program Files\Apache Software Foundation\)。
3. 配置Subversion服务端找到安装目录下的conf文件夹,打开svnserve.conf文件,找到以下两行:# anon-access = read# auth-access = write将这两行的注释符#去掉,并将分别将read和write修改为none,即:anon-access = noneauth-access = none保存并关闭文件。
4. 启动Subversion服务打开命令行窗口,进入Subversion服务安装目录的bin文件夹。
使用命令:svnserve -d -r C:\svn其中,C:\svn为创建好的SVN资源库的路径。
执行命令后,服务就会启动。
二、安装TortoiseSVN客户端2.运行安装程序在安装向导中,根据自己的需要选择合适的组件进行安装。
通常,只需要选择包含TortoiseSVN客户端的组件。
选择安装路径,建议选择默认路径(C:\ProgramFiles\TortoiseSVN)。
3. 配置TortoiseSVN客户端安装完成后,可以在资源管理器中点击右键,选择TortoiseSVN > Settings打开TortoiseSVN配置窗口。
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)
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-r200:201test.php
简写:svn di
11、将两个版本之间的差异合并到当前文件
svn merge-r m:n path
例如:svn merge-r200:205test.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是上一版本,也可以写具体版本号,这样输
出结果是可以提交的)。