SVN命令使用手册
- 格式:pdf
- 大小:378.42 KB
- 文档页数:11
SVN操作手册2020年1月19日目录一、 MyEclipse中SVN的操作 (4)1. 添加新的SVN资源库 (4)2.检出项目 (4)3.将修改的文件提交到服务器上 (5)4.删除文件 (5)5.文件冲突 (5)6.文件恢复到编辑之前的版本 (6)7.恢复到以前提交的版本 (6)8. 创建分支/标记 (6)9. 切换到分支 (7)10. 合并分支到主干(合并主干到分支与此相同) (7)11. 合并时文件有冲突 (8)二、本地SVN客户端的操作 (8)1. 检出 (8)2. 添加文件(SVN服务器无此文件,开发人员新上传的文件) (8)3. 删除文件(从SVN服务器删除文件) (8)4. 恢复历史版本文件 (9)5. 文件合并 (9)6. 文件比较 (9)7. 创建分支/标记 (10)8. 切换分支 (10)9. 合并分支 (10)三、附录 (11)1. 本地客户端 (11)2. MyEclipse插件地址 (11)一、MyEclipse中SVN的操作1.添加新的SVN资源库1)选择菜单窗口-〉打开透视图-〉其他2)打开SVN?资源库,点击“确定”3)添加新的资源库,在视图空白处单击右键->新建->资源库位置输入URL地址,点击“完成”即可。
2.检出项目1)方法一:在SVN资源库中检出①在SVN资源库节点下选择要检出的项目,右键选择“检出为”②选择“做为工作空间中的项目检出”③选择项目位置④执行检出。
2)方法二:导入SVN项目①菜单栏点击文件->导入②选中SVN->从SVN检出项目,点击下一步③选中资源库,点击下一步④选择要检出的文件夹,点击下一步⑤选择“做为工作空间中的项目检出”⑥选择项目位置⑦点击完成。
3)方法三:检出本地SVN客户端检出的项目①菜单栏点击文件->导入②选择General->现有项目到工作空间中,点击下一步③点击浏览,选择你的项目所在目录,点击确定④点击完成3.将修改的文件提交到服务器上右键选择小组〉提交,将更改后的文件提交到服务器上。
svn使用指南SVN使用指南SVN是Subversion的缩写,是一种版本控制系统,用于管理文件和目录的更改历史记录。
它可以跟踪每个文件的修改、删除和添加,并允许用户回滚到以前的版本。
SVN也可以协同工作,多个人可以在同一个项目中共同工作并对代码进行更改和提交。
安装SVN在使用SVN之前,需要先安装它。
可以从Subversion官网上下载适用于您操作系统版本的二进制文件,并按照说明进行安装。
创建仓库创建仓库是使用SVN的第一步。
首先,需要选择一个合适的位置来存储仓库。
可以选择本地或远程位置。
在本地计算机上创建仓库:1. 打开终端或命令提示符。
2. 输入以下命令:svnadmin create /path/to/repository3. 将“/path/to/repository”替换为要存储仓库的路径。
在远程服务器上创建仓库:1. 登录到服务器。
2. 安装Subversion软件包并启动svnserve服务。
3. 创建一个新目录来存储仓库。
4. 在该目录下输入以下命令:svnadmin create /path/to/repository5. 将“/path/to/repository”替换为要存储仓库的路径。
检出代码检出代码是指将代码从SVN服务器下载到本地计算机。
可以使用以下命令来检出代码:svn checkout svn://hostname/path/to/repository将“hostname”替换为SVN服务器的主机名,“path/to/repository”替换为要检出的仓库路径。
添加文件在SVN中添加文件非常简单。
只需将文件复制到仓库中即可。
1. 在本地计算机上创建一个新文件。
2. 使用以下命令将文件添加到仓库中:svn add filename3. 将“filename”替换为要添加的文件名。
提交更改提交更改是指将本地计算机上的更改上传到SVN服务器。
可以使用以下命令提交更改:svn commit -m "commit message"其中,“commit message”是一条简短的说明,解释了您所做的更改。
M:修改A:添加D:删除SVN命令使用一、常用命令1.Svnadmin create创建库svnadmin create path在windows版本上:D:\>svnadmin create test2D:\>通过dir来列出目录中文件,已经包含test2,如图1所示:图1说明此时已经成功建立2.Svn import导入项目svn import project_path svn_lib_path -m “comment”举例:假设有一个工程名称unismg,代码的文件目录是unicom;A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示:图2trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。
B、我们将代码unicom放到d:\unismg\trunk\中C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示:SVN为培训Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/getAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_pending.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mtsr.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mo.c……Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mbranchesAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtagsCommitted revision 38.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下面信息就是从库中下载的代码信息。
Subversion常用命令2009-9-181.版本库 (2)2.版本模型 (2)3.SVN安装 (2)4.客户端配置 (2)5.查看svn帮助 (3)6.创建版本库 (3)7.启动svn (3)8.建立版本库目录结构 (3)9.导入版本库 (3)10.签出一份代码到本地并作为工作区 (3)11.导出一份代码但不作为工作 (4)12.基本工作周期 (4)13.查看当前目录状态 (4)14.更新最新程序到本地拷贝目录 (4)15.锁定文件 (4)16.修改文件或目录 (4)17.撤销某些修改 (5)18.解除锁定 (5)19.提交修改 (5)20.查看当前目录信息 (5)21.显示历史日志 (5)22.切换版本库IP地址 (6)23.镜像库的配置 (6)同步错误一 (6)同步错误二 (7)1.版本库Subversion是集中式信息共享系统。
版本库是subversion的核心部分,是数据的中央仓库,以典型的文件树结构来保存信息。
任意数量的客户端连接到subversion库,来读取、修改这些文件。
客户端通过写数据将信息分享给别人,通过读数据获取别人共享的信息。
2.版本模型版本管理系统的核心是实现写作编辑和数据共享。
锁定——修改——解锁机制:一段时间内只允许一个用户修改,修改前先锁定文件,修改后解除锁定。
3.SVN安装从/下载subversion安装包,及相关工具包。
不同版本安装会稍有差异,以subversion1.5.4为例,需要下载apr-0.9.17.tgz、apr-util-0.9.15.tgz、subversion-1.5.4.tgz,按照INSTALL说明依次安装,也可参考如下步骤安装:a.超户身份进入apr-0.9.17,依次执行./configure; make; make install;b.超户身份进入apr-util-0.9.15,依次执行./configure -with-apr=/usr/local/apr; make; make install;c.超户身份进入subversion-1.5.4,依次执行./configure -with-apr=/usr/local/apr -with-apr-util=/usr/local/apr; make; make install;4.客户端配置进入.subversion,修改config,启用store-passwords = no,启用enable-auto-props = yes,启用[auto-props],并增加一行:* = svn:needs-lock=x。
SVN操作手册该操作手册简略地介绍一些日常使用操作,如需要更详细的说明文档可以访问网址/tsvndoc/。
一、登陆1、打开资源管理器,在任意的目录下点击右键,在弹出的右键菜单里选择TortoiseSVN,选择版本库浏览器,将会弹出URL的窗口。
2、在URL编辑栏中输入SVN server的路径,例如:http://10.142.49.232/svn/testSVN可以通过多种方式访问——本地磁盘访问,或各种各样不同的网络协议,但是一个版3、当输入步骤2 的url后,会弹出用户认证对话框,输入用户名和密码就可以登陆了。
登陆成功后会显示如图1所示的操作界面——版本库浏览器。
图1二、导入项目方法一:1、在版本库浏览器窗口中,选择根目录,单击右键显示图2所示的菜单。
图22、选择加入文件夹,弹出文件浏览器窗口,选中要导入的项目所在文件夹,并确定。
3、步骤2 将弹出该操作的日志窗口,如图3 所示。
点击确定,即可完成导入。
图 3方法二:选中导入的文件夹,单击右键,选择TortoiseSVN,在弹出的子菜单选中导入(I)… ,会弹出如图4所示的窗口。
输入导入项目的目的地的URL和导入信息(用于日志消息,可不填写),然后点击确定就成功导入。
注意事项:1、导入项目之前,必须先移除不是项目所必须的文件(由编译器所产生的临时文件,如*.obj,*.class等等。
2、先整理下文件夹和子文件夹里的文件,尽管可以在导入后重命名/删除文件,但是建议在导入项目之前先将文件结构整理清楚。
3、导入的资料不包括选中的文件夹,而是该文件夹里面的资料。
4、如果选中的文件夹其子文件夹里面没有文件,则该子文件夹也不能被导入。
图 4三、导出项目1、登入版本库浏览器,选择要导出的项目。
2、右键选中“导出”,弹出如图所示的对话框。
图53、选择要导出的目录,并确定,即可完成导出。
四、检出项目方法一:1、在Windows资源管理器里选择一个存放工作拷贝的目录。
SVN命令使用详解1、检出svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名注:如果不带--password 参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。
其中 username 与 password前是两个短线,不是一个。
不指定本地目录全路径,则检出到当前目录下。
例子:svn co svn://localhost/测试工具 /home/testtools --username wzhnscsvn co http://localhost/test/testapp --username wzhnscsvn checkout svn://localhost/测试工具/home/testtools --username wzhnscsvn checkouthttp://localhost/test/testapp --username wzhnsc2、导出(导出一个干净的不带.svn文件夹的目录树)svn export [-r 版本号] http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名svn export [-r 版本号] svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名svn export 本地检出的(即带有.svn文件夹的)目录全路径要导出的本地目录全路径注:第一种从版本库导出干净工作目录树的形式是指定URL,如果指定了修订版本号,会导出相应的版本,如果没有指定修订版本,则会导出最新的,导出到指定位置。
svn使用指南
1.创建仓库:
-打开控制台,输入“svnadmincreateD:\svn”,其中D:\svn是你希望存储代码的路径。
2.检出代码:
-打开控制台,输入“svncheckoutfile:///D:/svn”,其中D:/svn是你创建的仓库路径,可以将其改为你的实际仓库路径。
3.同步代码:
-打开控制台,进入你的工作目录,例如“cd
C:\Users\Administrator\Desktop\MyProject”。
-修改代码,例如在MyProject文件夹中新建一个文件“test.txt”。
-输入“svn add test.txt”将新建文件添加到版本库。
-输入“svn commit -m "添加test.txt文件"”将修改的代码提交到仓库中。
4.更新代码:
-打开控制台,进入你的工作目录,例如“cd
C:\Users\Administrator\Desktop\MyProject”。
-输入“svn update”将仓库中最新代码更新到本地。
5.比较代码:
-打开控制台,进入你的工作目录,例如“cd
C:\Users\Administrator\Desktop\MyProject”。
-输入“svn diff”将比较本地代码和仓库中最新代码的差异。
6.分支操作:
-打开控制台,进入你的工作目录,例如
“cdC:\Users\Administrator\Desktop\MyProject”。
SVN操作手册丁丁编程技术Email: greenvc@QQ: 1844205目录1.1、中文界面的设置 (2)1.2忽略文件 (2)1.3配置强制注释 (3)2.1初始化版本库 (5)2.2 “检出Checkout”—>“提交Commit” (6)3.1版本号的解释 (9)3.2更新(Update)工作副本 (9)3.3解决冲突 (10)3.4 提交修改到仓库 (11)3.5 比较差异(Diff) (12)3.6 加入(Add)新文件/新文件夹 (13)3.7 删除、重命名、移动 (13)3.8 取消改变(revert) (14)3.9 修订日志窗口 (15)3.10文件库浏览器 (16)安装完TortoiseSVN后,其会集成在系统右键菜单项中。
1.1、中文界面的设置将TortoiseSVN的操作语言设置为中文,控制文件夹使用“_SVN”以便支持项目。
1.2忽略文件为防止在提交操作时将不必要的文件上传到SVN服务器上,可将项目中不需要受SVN控制的文件和文件夹通过设置忽略选项的方式排除掉。
常被忽略的文件有_* obj *.db *.resharper* *.Load *.pdb *.bak。
可以根据实际需要来修改忽略参数,每个需要忽略的文件(文件夹)名称之间用空格作分隔符,需要忽略的文件夹只要写文件夹名称就行,例如 obj,忽略obj文件夹及所包含文件;_*忽略所有_(下划线)开头的文件夹及所包含文件。
注意,这个设置仅对本机有效,而且对本机的所有项目的本地工作区有效,对其他项目组成员没有影响。
被忽略的文件仍可以通过“添加”命令使其受SVN控制。
操作界面如下图,只需将忽略参数填写在“全局忽略模式”后的文本框中即可。
1.3配置强制注释项目负责人通过设置项目的TortoiseSVN:logminisize设置为5,以便强制注释。
设置方法:在项目的本地工作区文件夹上点击鼠标右键选择“属性”,进入Subversion标签,选中TortoiseSVN: logminisize,确保复选框“递归应用该属性”选中,取值设为5,其意思是指提交的注释最短长度为五个字。
M:修改A:添加D:删除SVN命令使用一、常用命令1.Svnadmin create创建库svnadmin create path在windows版本上:D:\>svnadmin create test2D:\>通过dir来列出目录中文件,已经包含test2,如图1所示:图1说明此时已经成功建立2.Svn import导入项目svn import project_path svn_lib_path -m “comment”举例:假设有一个工程名称unismg,代码的文件目录是unicom;A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示:图2trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。
B、我们将代码unicom放到d:\unismg\trunk\中C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg"结果如图3所示:SVN3.简写:svn co举例:svn co svn://192.168.30.251:3482/trunk/unicom下面信息就是从库中下载的代码信息。
4.Svn add: 往版本库中添加新的文件svn add file例如:svn add test.php(添加test.php)svn add *.c(添加当前目录下所有的c文件)举例:svn add unismg-misc.conf5.Svn ci: 将改动的文件提交到版本库svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关)例如:svn commit -m “add test file for my test“ test.php简写:svn ci举例:svn ci -m “comment” file/path注意:此处必须添加commentComment是:详细的说明修改代码的原因或者功能,也即:能够通过svn log获知你提交代码的原因就行。
6.Svn up: 更新到某个版本svn update [-r m] path例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn up -r 4 filename/path:是将代码更新到版本4。
用此命令可以更新/还原代码至指定版本。
svn update filename.c(更新,与版本库同步。
如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后使用svn resolved命令清除目录下多余文件,最后再提交svn commit) 简写:svn up举例:/export/home/mcpp20/niuj/proj/mcpp2.0>svn upU mcpp/include/mp_cfg.hU mcpp/include/mp_csp_oper.hG mcpp/include/mp.hU mcpp/include/mp_kernel.hU mcpp/include/mp_glo.hU mcpp/include/mp_msisdn.hU mcpp/include/mp_common_mc.hU mcpp/include/mp_biz.hU mcpp/include/mp_kernel_smg.hU mcpp/include/mp_core_update.h……7.Svn st: 查看文件或者目录状态1)svn status path(目录下的文件和子目录的状态,正常状态不显示)?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定G:表示代码合并成功举例:/export/home/mcpp20/niuj/proj/unicom>svn st Make.rules/export/home/mcpp20/niuj/proj/unicom>vi Make.rules修改Make.rules后,再执行之:/export/home/mcpp20/niuj/proj/unicom>svn st Make.rulesM Make.rules注意:一旦遇到C这种情况,应当及时手动整合代码。
2)svn status -v path(显示文件和子目录状态)第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st举例:/export/home/mcpp20/niuj/proj/unicom>svn st -v Makefile4 1 niu-jie Makefile/export/home/mcpp20/niuj/proj/unicom>vi Makefile修改一下Makefile文件,再次执行/export/home/mcpp20/niuj/proj/unicom>svn st -v MakefileM 4 1 niu-jie Makefile8.Svn del: 删除文件svn delete file/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 del filename/path -m “comment”注意:comment必须填写,内容同svn ci9.Svn log: 查看日志svn log path例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化举例:r1 | niu-jie | 2008-11-25 11:28:03 +0800 (二, 25 11月2008) | 1 lineinitial import unismg------------------------------------------------------------------------此处黑色粗体就是你在签入代码或者删除文件时添加的comment信息。
10.S vn info: 查看文件详细信息svn info file/path列出一些版本,修改者,时间等详细信息例如:/export/home/mcpp20/niuj/proj/unicom>svn info confPath: confURL: svn://192.168.30.251:3482/trunk/unicom/confRepository Root: svn://192.168.30.251:3482Repository UUID: be25efa0-5121-4a33-b4ce-07ae4bf004f4Revision: 4Node Kind: directorySchedule: normalLast Changed Author: niu-jieLast Changed Rev: 1Last Changed Date: 2008-11-25 11:28:03 +0800 (二, 25 11月2008)11.S vn diff: 比较差异svn diff file/path简写:svn di1) svn diff file/path(将修改的文件与基础版本比较)例如:/export/home/mcpp20/niuj/proj/unicom>svn di Make.rulesIndex: Make.rules===========================================================--- Make.rules (revision 4)+++ Make.rules (working copy)@@ -1,4 +1,3 @@-## Project: Short Message Internet Access Solution# Version: 1.0注意:红色粗体部分是说明下面输出的信息中:前面带有“-”表示版本4(svn库中代码)中存在而你目录下当前版本删除掉的;前面带有“+”表示版本4(svn库中代码)中没有,你当前版本新添的代码。
2) svn diff -r m:n file/path(对版本m和版本n比较差异)例如:/export/home/mcpp20/niuj/proj/unicom>svn di -r 4:1 CHANGELOGIndex: CHANGELOG=========================================================== --- CHANGELOG (revision 4)+++ CHANGELOG (revision 1)@@ -1,10 +1,21 @@-#凡是修改代码者,需要先到此处申请修改编号-#然后确定没有重复后,提交此文件,再行修改代码.-#* version:+* description: 配置文件初始化+* code:+* changelog: <- 0003 zhangchen+* recorder: zhangchen+* date:++* version:+* description: mo短息自动提示功能:用户发起的MO消息流程中没有找到对应的目的EC/SI或EC/SI无应答;+* code:+* changelog: <- 0002 zhaoxy+* recorder: zhaoxy+* date:++* version:* description:* code:-* changelog: <- 0001 zhaoxy+* changelog: <- 0001 maxw* recorder: zhaoxy* date:12.s vn resolved: 解决冲突svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法:svn resolved file/PATH…注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的相关文件,然后让PATH 可以再次提交。