SVN常用命令(WINDOWS)

合集下载

Windows下SVN使用指南

Windows下SVN使用指南
svn update -r 版本号
10.查看日情。使用以下命令:
svn log
svn merge 仓库URL/分支名
8.解决冲突
当多个开发者对同一个文件进行了更改并提交后,可能会出现冲突。SVN会自动检测到冲突,并将冲突的文件标记出来。你需要手动解决这些冲突。使用以下命令来查看冲突的文件:
svn status
9.版本回退
如果你不满意一些版本的更改,你可以回退到之前的版本。使用以下命令:
svn update
6.提交更改
当你对项目进行了更改,并且希望将这些更改提交到仓库中时,使用以下命令:
7.分支和合并
SVN允许你创建分支来独立开发一些功能或解决一些问题。要创建分支,使用以下命令:
svn copy 仓库URL 仓库URL/分支名 -m "创建分支"
当分支开发完成后,你可以将其合并回主干。使用以下命令:
svnadmin create 仓库路径
3.导入项目到仓库
将你的项目文件导入到仓库中,使用以下命令:
svn import 本地项目路径 仓库URL -m "导入项目"
4.检出项目
要开始使用SVN,你需要从仓库中检出项目。使用以下命令:
svn checkout 仓库URL 本地目录
5.更新项目
当其他人对项目进行了更改,并提交到仓库中时,你需要将这些更改更新到你的本地项目中。使用以下命令:
Windows下SVN使用指南
SVN是一个开源的版本控制系统,它可以帮助开发团队管理和控制项目的版本。它是以集中化的方式工作,意味着所有的文件和版本都存储在一个中央仓库中。在Windows操作系统下,使用SVN非常方便,以下是一个SVN的使用指南。

SVN使用指南——Windows环境版

SVN使用指南——Windows环境版
SVN使用指南 ——Windows环境版
内 容 概 要
• • • • • • 问题与案例 SVN简介 应用环境 客户端安装 简单应用 复杂应用
问题与案例(一)
• 电脑发生故障,文件没有备份而丢失了 • 由于人员离职,导致某些资料丢失了 • 我怎么知道手头的公共资料是不是最新版 呢? • 想要追溯几个月前的某个状态,却发现那 个版本的文件已经被当作垃圾删除了 • 每天要花费很多时间来向别人提供需要共 享的资料
– 在客户端新建一个文件夹用于存放下载的数据 – 在新建文件夹上点右键,选择“SVN检出…”
Back
检出(二)
– 在弹出窗口的“版本库URL”处填入版本库的访 问地址,如:http://10.50.22.35:8080/svn/XXX 部门/XXXX项目/ – 点“确定”开始从SVN服务器下载数据
– 在受SVN控制的某层文件夹或文件 上点右键,选择“TortoiseSVN-显 示日志”
Back
复原(回滚)(二)
– 在弹出的日 志窗口中, 右键点击要 复原的版本, 选择“复原 到此版本” – 复原结束后, 执行“提交” 操作,将此 版本作为版 本库的最新 版本
Back
冲突及解决(一)
• 冲突的产生:
Back
增加(二)
– 如果“增加”是对文件夹进行操作,则会弹出 窗口列出该文件夹下未受控的文件,点击“确 定”将其纳入SVN控制
– “增加”后文件图标从
变成
• “增加”仅是对客户端的文件进行标注, 并不上传到服务器,需要执行“提交”操 作才会上传
Back
删除(一)
• “删除”用于从当前版本中删除文件或文件 夹
将新文件纳入 SVN的控制
Back

Windows下SVN的备份方案

Windows下SVN的备份方案

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 右键菜单

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(解决冲突)有时你从档案库更新文件会有冲突。

冲突产生于两人都修改文件的某一部分。

解决冲突只能靠人而不是机器。

当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。

Windows下SVN服务器的详细安装配置手册

Windows下SVN服务器的详细安装配置手册

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库所在根目录)。

SVN客户端命令简介

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。

SVN日常使用说明

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…”,出现操作窗口。

svn checkout代码

svn 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 服务器上的代码仓库地址。

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

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是上一版本,也可以写具体版本号,这样输
出结果是可以提交的)。

相关文档
最新文档