SVN命令使用手册
- 格式:doc
- 大小:108.50 KB
- 文档页数:11
目录1.修改SVN访问密码 (1)2.SVN客户端使用说明 (2)2.1.安装SVN客户端 (2)2.2.迁出配置库内容 (3)2.3.维护工作文件 (4)2.3.1.增加文件 (4)2.3.2.更新文件 (8)2.3.3.删除文件 (9)2.3.4.修改文件 (10)2.3.5.比较版本差异 (10)2.3.6.撤销更改 (13)2.3.7.锁定和解锁 (13)2.3.8.重命名文件 (14)2.3.9.获取历史文件 (14)2.3.10.检查冲突 (15)2.3.11.解决冲突 (16)2.3.12.忽略无需版本控制的文件 (16)2.3.13.去除SVN标志 (17)2.3.14.查看文件每行的修改信息 (17)2.3.15.重置访问路径 (18)2.3.16.本地路径转换 (18)2.4.浏览版本库 (18)2.5.建立标签 (19)2.6.建立分支 (19)2.7.清除用户名等信息 (20)2.8.统计信息 (21)3.MYECLIPSE集成SVN (23)3.1.安装SVN插件 (23)3.2.配置M Y E CLIPSE提交目录 (28)1. 修改SVN访问密码打开IE,在地址栏中输入地址:http:// /svnmanager/index.php,进入SVNManager的欢迎界面,如下图所示:点击“登陆”按钮进入登陆界面,如下图所示:输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示:点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:在上图界面的“新密码”和“重复新密码”框中输入你设定的新密码,两框中的密码要保持一致。
在“当前用户密码”框中输入你的先前的登陆密码,。
点击“确定”按钮修改密码,后返回到编辑用户成功界面,在此界面中点击“退出”按钮完成此操作。
再次可使用新密码进行登陆。
2. SVN客户端使用说明2.1. 安装SVN客户端安装SVN客户端(我公司使用的SVN客户端为TortoiseSVN-1.4.8.12137-win32-svn-1.4.6):双击安装包→Next→选中“I accept the terms in the license Agreement”→Next→Install→选中“Show Changelog”→Finish→点击“Yes”按钮重新启动电脑。
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”是一条简短的说明,解释了您所做的更改。
svn用户操作手册SVN(Subversion)是一个版本控制系统,用于管理文件的版本和变更历史。
以下是SVN用户操作手册:1. 检出代码:打开控制台,输入“svn checkout [服务目录] [本地目录全路径] --username 用户名 --password 密码”。
其中,[服务目录]是你要检出的代码所在的SVN仓库地址,[本地目录全路径]是你要将代码检出到的本地路径。
2. 添加新文件:使用“svn add 文件名”命令将新文件添加到版本库中。
如果要添加多个文件,可以使用通配符“.扩展名”来批量添加,例如“svn add .txt”将添加所有扩展名为.txt的文件。
3. 提交修改:使用“svn commit -m 提交信息”命令将修改的代码提交到仓库中。
其中,“-m”参数后面跟着提交信息,简要描述你做了哪些修改。
4. 更新代码:使用“svn update”命令将当前目录以及子目录下的所有文件都更新到最新版本。
如果要更新特定文件,可以使用“svn update [文件路径]”命令。
5. 比较代码:使用“svn diff”命令比较当前文件与版本库中的文件差异。
如果要比较不同版本的差异,可以使用“svn diff -r [版本号] [文件路径]”命令。
6. 分支操作:创建分支使用“svn copy [源路径] [目标路径] -m 创建分支信息”。
其中,[源路径]是你要创建分支的分支或主线的位置,[目标路径]是分支的名称。
合并分支使用“svn merge [源分支路径] [目标分支路径]”。
其中,[源分支路径]是要合并的分支的路径,[目标分支路径]是合并的目标位置。
7. 查看历史记录:使用“svn log [文件或目录路径]”命令查看指定文件或目录的历史记录。
8. 标签操作:创建标签使用“svn copy [源路径] [目标路径] -m 创建标签信息”。
其中,[源路径]是你要创建标签的分支或主线的位置,[目标路径]是标签的名称。
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下面信息就是从库中下载的代码信息。
SVN使用说明详解SVN(Subversion)是一种版本控制系统,用于管理和跟踪文件的变化。
它可以帮助团队成员协同开发,并提供了方便的版本控制和管理工具。
下面是使用SVN的详细说明:1.安装SVN2.创建版本库版本库是SVN用于存储文件和其变化的地方。
可以在服务器上创建版本库,也可以在本地创建。
使用以下命令在本地创建版本库:svnadmin create /path/to/repository3.创建项目目录结构在版本库中,可以创建不同的项目目录。
每个项目目录可以包含多个文件和子目录。
使用以下命令在版本库中创建一个项目目录:svn mkdir /path/to/repository/project_name4.导入文件在版本库中导入文件,可以使用以下命令:svn import /path/to/local/folderfile:///path/to/repository/project_name -m "Initial import"5.更新代码在工作目录中更新代码,可以使用以下命令:svn update6.添加文件将新文件添加到版本库中,可以使用以下命令:svn add filename7.提交更改提交更改将文件更新到版本库中,可以使用以下命令:8.查看日志可以使用以下命令查看版本库中的提交记录:svn log9.检查文件状态可以使用以下命令检查文件在工作目录中的状态:svn status10.比较文件差异可以使用以下命令比较本地文件和版本库中文件的差异:svn diff filename11.合并分支如果有多个分支,可以使用以下命令将一个分支合并到另一个分支:svn merge source_branch_url destination_branch_url12.解决冲突svn resolve filename以上是SVN的基本操作说明,但SVN还有许多其他功能和选项,可以根据具体需要进行进一步学习和使用。
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命令使用详解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命令使用手册修改版本记录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所示:图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下面信息就是从库中下载的代码信息。
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: 移除工作副本的目录或文件的“冲突”状态。