SVN-日常使用指南-200801
- 格式:doc
- 大小:524.50 KB
- 文档页数:17
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常用操作Subversion(svn)是一款开放源代码的分布式版本控制系统,它旨在替代CVS,建立一个强大的版本控制系统和一个可拓展的源代码管理工具集。
SVN对于新应用很友好,它的作用是保留组件之间的相互依赖关系,从而方便软件团队协同工作。
本文将详细介绍svn常用操作方法及常见问题。
#### 1、基本概念SVN(Subversion)是一款开源版本控制系统,它支持文件及文件夹的版本控制,它是一种分布式系统,可以在远程服务器上维护版本库,也可以在本地电脑上维护版本库。
svn的术语有:版本库(repository),即用来包含文件及文件夹版本信息的存储库;工作副本(working copy),即svn本地拷贝的工作副本,每次操作的版本信息都是从这里取的;版本树(version tree),用来存放文件及文件夹的版本历史记录的一棵树;提交(commit),即将更改提交给版本控制系统,提交将会记录文件及文件夹的修改情况,同时这些修改也将反应到版本树上。
#### 2、基本操作+查文件(check out):即从版本库中将某个文件下载到本地,并生成工作副本,用来编辑和测试;+新文件(update):即从版本库中下载最新版本的文件到本地; +交文件(commit):即将编辑过的工作副本上传到版本库中;+较文件(diff):比较当前版本与上一版本的差异;+加文件(add):第一次提交文件,将文件添加到版本库中;+除文件(delete):从版本库中删除文件;+滚文件(revert):将文件的版本还原到某一个之前的版本;#### 3、高级操作+本回滚(revert):可以将文件回滚到指定的某个版本;+制(copy):可以把某一路径下的文件夹及文件复制到另一路径; +动(move):可以把某一路径下的文件夹及文件移动到另一路径; +复(recover):可以恢复已经删除的文件;+示历史(log):可以查看每次提交的版本信息;+命名(rename):可以把文件名重命名;#### 4、常见问题+何恢复已删除的文件?可以使用svn recover命令恢复删除的文件,具体使用方法如下: ```svn recover -r <revsion> <working-copy-path>```其中,revsion为要恢复的版本号,working-copy-path为需要恢复的路径。
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下面信息就是从库中下载的代码信息。
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还有许多其他功能和选项,可以根据具体需要进行进一步学习和使用。
SVN使用手册Svn的用处我就不说了,我们来安装,让你无限回滚代码!1,SVN演示有多种软件可以搭建svn环境,subversion安装配置复杂, 为了简便,在此选择VisualSVN,VisualSVN有服务器端和客服端之分,客服端是为visualstudio提供svn支持,服务器端才是关键,服务器端安装好以后你就可以提供SVN服务了,很帅哦,你可以通过浏览器来查看你的代码,同时也可以用他来管理你word文档的不同版本,不用设置多个名字以下是本人的版本库演示Google编程规范可以在浏览其中查看文本文件内容,xml,html,txt,py,c++,c+,java等等,源程序多可以查看2安装VisualSVN Server安装VisualSVN_Server选第一项设置程序安装位置,Repositories就是数据仓库的位置,不要放c盘,端口改用80(你80端口未占用的话)设置如图安装结束,不要运行,还没破解呢3破解VisualSVN Server打开运行(ctrl+r)输入services.msc查看当前正在运行的服务把VisualSVN Server服务停止把注册机拷打程序安装目录下,会被360,qq电脑管家,杀毒软件识别为病毒,破解之前先关了他们,Win7用户需要使用管理员权限运行注册机keygen.exe,不要修改注册机的username,company name点patch,需要指定WMIProvider.dll在bin文件夹里破解成功用户运行VisualSVN Server Manager点Upgrade to Enterprise Edition 升级到企业版点注册机的generate按钮生成注册码,升级成功SVN的配置页面,你可以修改服务名,端口,认证方式等4配置使用VisualSVN ServerSVN安装好的我们来设置SVN,让她为我们工作1,创建svn仓库你代码要存放的地方,一般一个项目建一个仓库Create default structure可选,选了以后创建3个文件夹,干什么用的自己查吧2创建用户仓库建好以后我们要创建用户,让他可以访问仓库你想为其他人通过SVN服务的话建议建组(Group),以方便用户的权限管理3安全管理,为了安全,我们要设置svn仓库的权限选中你要管理的仓库,右击,选manage security如图,我设置了任何人(你在user中创建的)对svn这个可读,只有hello用户有读写权限4使用svn使用浏览器查看svn,在局域网内,把admin-6换成你的ip地址,其他人在他电脑上也可以访问使用https协议会跳出以下界面,原因吗个人网站是不值得信任的输入你创建的账号登陆登陆成功5 VisualSVN 介绍VisualSVN客户端是为visualstudio提供svn支持的工具,在此不介绍,你可以自己摸索6 TortoiseSVN 介绍Windows下TortoiseSVN提供了方便的svn操作,而不用使用命令进行svn的操作, TortoiseSVN 有中文语言包安装语言包后在此改为中文选择版本库浏览器,输入svn地址我们可以在此查看代码的所有版本,HEAD后输入对于版本号就可以切换版本了,更多操作自己摸索7 Eclipse中使用svnEclipse 提供了插件subeclipse安装subeclipse是不要选Subclipse Integration for Mylyn 3.x(Optional)和Subversion Revision Graph选了这两项99.99%的概率你会失败Eclipse安装插件Subeclipse 地址千万不要用网络安装(凌晨十二点除外),网速伤不起Myeclipse安装subeclipsmyeclipse中subeclipse的安装选项,myeclipse安装svn插件成功会是myeclipse的一些功能用不了,不建议安装,不信你可以试试,我在myeclise下安装subeclipse好多myeclipse的模板就看不到了可以使用TortoiseSVN进行版本管理Eclipse 安装svn成功后可能会出现不用理他,这是64位和32位库不兼容造成的8 在Eclipse中使用SVNEclipse安装svn后便可以在在eclipse中对代码进行版本库控制,更方便以下是eclipse演示svn的使用新建一个java项目把项目上传到svn,供大家想输入要上传到的svn地址上传需要写权限共享成功后回跳到TeamSynch..试图返回java试图项目共享成功,代码不一定上传成功,需要提交代码提交成功通过svn检出项目以下演示从svn中检出刚才共享的项目svn,首先删除原来的svn项目导入从svn导入选择svn地址,没有的话创建新的资源地址选择svn项目检出检出成功SVN代码操作修改后提交查看svn.java的修改记录选择不同的历史记录,右击获取内容,代码就可以自动修改为该版本的代码9 软件下载软件网上可以找到或从我的以下地址获得,包含visualSVN破解微软skydrive.评论这张转发至微博转发至微博。
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使用指南
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使用说明详解SVN(Subversion)是一种版本控制系统,用于管理多个人共同开发的项目。
它能够追踪文件的变更,并记录每个版本的细节,使开发者能够协同工作并保持项目的可维护性。
下面将详细介绍SVN的使用说明。
1.安装SVN2.创建和配置仓库通过TortoiseSVN或命令行创建一个新的SVN仓库。
一个仓库可以包含多个项目,每个项目都有一个唯一的URL。
3.导入项目将项目文件导入到SVN仓库中。
选择项目文件夹,点击鼠标右键,选择“TortoiseSVN” - “Import”,然后填写仓库URL和描述信息,点击“OK”按钮即可完成导入。
4.检出项目检出项目意味着将SVN仓库中的项目文件复制到本地机器上。
选择一个目录,点击鼠标右键,选择“TortoiseSVN” - “Checkout”,然后填写仓库URL和本地路径,点击“OK”按钮即可完成检出。
5.更新项目6.提交变更7.解决冲突当多个人对同一个文件的相同位置进行了修改时,就会发生冲突。
SVN会自动发现并标记冲突,你需要手动解决冲突。
选择冲突的文件,点击鼠标右键,选择“TortoiseSVN” - “Edit conflicts”,在冲突标记的地方进行修改,然后选择“Mark as resolved”,最后点击“OK”按钮即可解决冲突。
8.分支和合并SVN允许创建多个分支,使得项目可以并行开发。
通过分支,可以在一些版本上继续开发而不会破坏主干。
当分支的开发完成后,可以通过合并将分支的变更合并回主干。
选择项目文件夹,点击鼠标右键,选择“TortoiseSVN” - “Merge”,选择要合并的源URL和目标URL,点击“Next”按钮,选择要进行合并的文件和目录,然后点击“Next”按钮,最后点击“Merge”按钮即可完成合并。
9.查看日志10.撤销变更当您发现自己的变更存在问题时,可以通过撤销变更来还原文件到之前的版本。
选择文件,点击鼠标右键,选择“TortoiseSVN” - “Revert”,然后选择“Revert”按钮即可撤销变更。
S u b v e r s i o n使用手册S u b v e r s i o n的使用配置已经完毕了,下面就要开工啦。
1S V N的访问如何访问SVN请看下表:对需要进行版本控制的源码,需要先导入到版本库中,形成第一个修订版本。
使用import 命令,可以使用TortoiseSVN的import命令。
首次导入之后,版本库中就已经包含了版本控制文件了,以前导入的文件也就可以删除了。
好了,现在我们在任意地方新建一个文件夹比如叫做import,里面新建三个文件夹design,release,trunk。
各个文件夹的作用已经在前面说了,在此不再赘述,然后将我们西安现在正在开发的项目放到trunk文件夹中,我们的项目有两个文件一个是A。
java一个是B。
java,A.java文件中的内容是public class A{public static void main(String[]args){System。
out。
println(”Hello Everyone!”);}}B.java文件中的内容是public class B{}还有就是我们把我们开发的设计文档design.doc放到design文件夹里,这些都放好之后,在import文件夹的空白处右击,在弹出的菜单中选择TortoiseSVN然后在弹出菜单中选择Import…,弹出如下内容:(图3-2-1)图3-2-1在URL of repository中填上访问地址,本地访问题写svn://localhost/即可,外面机器访问就需要填写IP了,然后在Import message里写上说明点击OK进入下一步。
大家就会看到如下界面(图3-2—2),填写上用户名和密码,为了更加快捷的工作,我们把Save authentication复选框选上,这样以后就不用一次又一次地输入用户名和密码了,不过如果你感觉这样不安全,你也可以在TortoriseSVN的settings里把它去掉。
svn客户端日常操作指南
SVN(Subversion)是一个开源的版本控制系统,用于管理项目的代
码版本。
SVN客户端是指使用SVN功能时需要安装在用户本地的工具。
SVN客户端的日常操作包括创建仓库、检出代码、提交代码、更新代
码等。
下面是SVN客户端的日常操作指南,图解方式进行说明。
第一步:安装SVN客户端
第二步:创建仓库
第三步:检出代码
3.代码检出成功后,会自动在指定路径下生成相应的代码文件,如图
6所示。
[图6]代码检出成功
第四步:提交代码
1.在代码文件中做出所需的修改后,选择“提交”选项,如图7所示。
[图7]SVN客户端提交代码
2.在弹出的提交对话框中输入提交的日志信息,点击“确定”按钮,
如图8所示。
[图8]输入提交日志信息
3.代码提交成功后,会自动将修改的代码上传到SVN仓库,如图9所示。
[图9]代码提交成功
第五步:更新代码
除了上述操作,SVN客户端还提供了其他的功能,如冲突解决、日志记录、分支管理等。
通过SVN客户端,用户可以方便地管理项目的代码版本,保持代码的整洁和协作的顺畅。
总结:
以上是SVN客户端的日常操作指南,通过这些操作,用户可以方便地使用SVN来管理项目的代码版本。
SVN客户端具有简单易用、多功能等特点,使得项目的代码版本管理更加便捷和高效。
希望本指南对用户有所帮助,让用户能够更好地使用SVN客户端。
SVN操作手册1、关于SVN有一个简单但不十分精准比喻:SVN = 版本操纵+ 备份效劳器简单的说,您能够把SVN当做您的备份效劳器,更好的是,他能够帮您记住每次上传到那个效劳器的档案内容。
而且自动的给予每次的变更一个版本。
通常,咱们称用来寄存上传档案的地址就做Repository。
用中文来讲,有点像是档案仓库的意思。
只是,通常咱们仍是利用Repository那个名词。
大体上,第一次咱们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。
往后,当您有任何修改时,都能够上传到Repository上面,上传已经存在且修悔改的档案就叫做commit,也确实是提交修改给SVN server的意思。
针对每次的commit,SVN server都会给予他一个新的版本。
同时,也会把每次上传的时刻记录下来。
往后,因为某些因素,若是您需要从Repository下载曾经提交的档案。
您能够直接选择取得最新的版本,也能够取得任何一个之前的版本。
若是忘记了版本,仍是能够靠经历尝试取得某个日期的版本。
2、SVN安装2.1 SVN效劳端安装①双击VisualSVN server安装包,弹出安装界面,点击Next,进入下一步②如以下图,勾选“I agree the terms in the License Agreement”,点击Next,进入下一步③如以下图,选择上面一个选项,点Next,进入下一步④如以下图,点击上面一个选项⑤如以下图,Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口(请确保选择的端口未被占用),Use secure connection 勾山表示利用平安连接.点击Next,进入下一步⑥如以下图,点击Install,进入下一步⑦如以下图,等待安装完成⑧如以下图,安装完成2.2 SVN客户端安装双击TortoiseSVN安装包(注:软件分为32位和64位版本,下载时请依照自己的系统位数进行下载),会弹出安装界面,一直Next最后Install即可,等待片刻即安装完成。
SVN使用手册目录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)2.9.SVN数据同步 (23)3.MYECLIPSE集成SVN (23)3.1.安装SVN插件 (23)3.2.配置M Y E CLIP SE提交目录 (28)4.L INUX SVN的安装 (31)1. 修改SVN访问密码打开IE,在地址栏中输入地址:http:// /svnmanager/index.php,进入SVNManager的欢迎界面,如下图所示:点击“登陆”按钮进入登陆界面,如下图所示:输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示:点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:在上图界面的“新密码”和“重复新密码”框中输入你设定的新密码,两框中的密码要保持一致。
在“当前用户密码”框中输入你的先前的登陆密码,。
点击“确定”按钮修改密码,后返回到编辑用户成功界面,在此界面中点击“退出”按钮完成此操作。
K i n g T a n g源码管理S V N使用手册(2008-3-1)有鉴于原有的VSS源代码管理系统存在的不足:1.速度慢,特别是文件越来越多,历史版本文件越来越多,导致VSS服务器速度变慢2.稳定性不好。
PB操作VSS时,经常导致非法操作,影响工作。
3.无远程的VSS功能。
在离开公司网络后,不能使用公司的源代码服务器。
4.离线操作不方便。
当断离服务器后,不好编辑代码,并且在并入代码库时操作不便。
5.只能实现单一的代码管理,而不能兼顾其他文档的管理。
由于现在只能在PB中嵌入VSS,在PB之外,没有工具可以有效实施文档管理。
6.不能与其他开发工具的源码管理一致新方案将采用PB9的外部工具PBSCC Proxy与TortoiseSVN组合使用。
通过PBSCC一个中间环节,来实现与SVN的关联。
SVN不仅可以管理源代码,也可以把软件开发中的其他文件或目录并入到SVN中,进行版本管理。
需要准备如下(按顺序安装):1. 客户端基础软件,svn-1.4.62.客户端管理软件,TortoiseSVN-1.4.1.7992-svn-1.4.2.msi 语言(英文)3.PB9.0客户端工具,PBscc4.Eclipse客户端,Subclipse released for Eclipse 3.x - 1.0.65.Viusl Stdio 平台客户端,Visual SVN 1.3.16.相关网站资料:7./8./9.(注:以上工具都在:服务器\工具目录\源码管理)安装TortoiseSVN点安装程序,按正常步骤下去,安装TortoiseSVN完后,需要重启计算机,然后在操作系统的目录浏览器上,点右键,弹出菜单会多出一些SVN内容。
如图:SVN功能菜单,主要有。
如下:安装后,可设置一些参数,以方便使用,主要如下。
1.设置提示窗口的参数,在什么情况下,可自动关闭PB使用SVN说明安装方法:1. 先安装svn ,再安培TortoiseSVN,最后安装PBscc,顺序不可反。
文档规则[本地工作区] :work copy,本地工作副本;[主项目]:引用共用模块的新项目(工程)最新版本(HEAD revision):版本库里文件或目录的最新版本SA :SVN服务器的管理员PRA :单个项目库的管理员,或者是项目负责人User :普通工作人员WC :work copy ,本地工作副本1.版本控制原则SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。
尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。
建议的开发过程组织:1.随行就市项目刚开始阶段,单独开发;项目稳定阶段,完整开发。
项目开发初期,各个项目成员负责自己的文件夹(或者模块),与SVN服务器间的更新、提交等操作只需要针对自己负责的文件夹(或者模块)就行了,他人的文件夹(或者模块)可以不必关心;项目稳定阶段,也就是每天的变更量很小了,所有项目成员与SVN服务器的更新、提交等操作需要针对项目的所有文件夹(或者模块),各个项目成员在其本地编译时本地工作区的全部项目程序(或者资料)均为最新的版本,保证项目作为整体能够顺利运行。
2.能躲就躲尽量保证一份文件只有一个项目成员在编辑。
举例说明:程序员A 负责底层中文件DBAccess.cs的编写,如果程序员B的工作要求他为DBAccess.cs增加两个方法,程序员B应该通知程序员A来增加而不是自己增加;如果此时A非常繁忙需要B自己增加,就需要B先更新本地的DBAccess.cs,然后开始修改,修改完成后立即提交并通知A更新本地的文件,通过缩短提交间隔来减少冲突。
2. 基于版本控制的开发流程版本控制下的软件开发基本流程注意:上述的流程中没有考虑测试和审核的步骤。
3. 各阶段中svn 的使用方法介绍3.1. 安装后的常规设置3.1.1. 中文界面的设置将TortoiseSVN 的操作语言设置为中文,控制文件夹使用“_SVN ”以便支持 项目。
新建项目库(SA)初始化主干库(PRA)正常开发 (User)发行否标记tagging(PRA)分支Branching(PRA) 结束 否分支开发 (User)合并结束合并(PRA) 发行否定制新项目3.1.2.忽略文件为防止在提交操作时将不必要的文件上传到SVN服务器上,可将项目中不需要受SVN控制的文件和文件夹通过设置忽略选项的方式排除掉。
常被忽略的文件有_* obj *.db *.resharper* *.Load *.pdb *.bak。
可以根据实际需要来修改忽略参数,每个需要忽略的文件(文件夹)名称之间用空格作分隔符,需要忽略的文件夹只要写文件夹名称就行,例如obj,忽略obj文件夹及所包含文件;_*忽略所有_(下划线)开头的文件夹及所包含文件。
注意,这个设置仅对本机有效,而且对本机的所有项目的本地工作区有效,对其他项目组成员没有影响。
被忽略的文件仍可以通过“添加”命令使其受SVN控制。
操作界面如下图,只需将忽略参数填写在“全局忽略模式”后的文本框中即可。
3.1.3.配置强制注释项目负责人通过设置项目的TortoiseSVN:logminisize设置为5,以便强制注释。
设置方法:在项目的本地工作区文件夹上点击鼠标右键选择“属性”,进入Subversion标签,选中TortoiseSVN: logminisize,确保复选框“递归应用该属性”选中,取值设为5,其意思是指提交的注释最短长度为五个字。
注意,这个设置对其他项目成员的也有效,但是对别的SVN客户端工具(如AnkhSVN)无效。
如图:3.2.初始化版本库初始化版本库有两种常用的方式:3.2.1.直接“导入Import…”对要执行导入操作得项目文件夹进行如下清理:1. 把项目中不需要的文件删除。
(临时文件、编译器创建的文件,比如*.obj、二进制文件等。
)2. 把文件夹和子文件夹中的所有文件整理一遍。
虽然你可以在导入之后再来进行重命名或删除等操作,但是还是推荐你在导入之前把你的项目整理好。
在资源管理器(windows explorer)中选择项目(本地硬盘上)的根文件夹,单击鼠标右键,选择导入Import…命令,跳出一个对话框:在这个对话框中你需要填写你要将项目导入仓库的URL地址(svn必须小写)。
导入信息(Important Message)是用来记录日志信息的。
注意:与“忽略样式exclude pattern”匹配的文件或文件夹不会被导入,除非选择了“包含忽略的文件”选项。
按下“确定”按钮后,TortoiseSVN就开始把整个文件夹树(包括所有文件)导入到仓库。
用来做“导入Import”操作的这个文件夹的名字不会出现在仓库中,只有文件夹中的内容会出现。
注意:刚才用来做“导入Import”操作的这个文件夹并没有处于版本控制下!要获取一份处于版本控制之下的[本地工作区]副本,你需要对刚导入的版本做一次“检出Checkout”操作。
3.2.2.“检出Checkout”—>“提交Commit”新建一个空文件夹作为[本地工作区]的存放文件夹(建议与项目同名),在文件夹上(或者文件夹里)单击鼠标右键后在命令菜单中选择“检出Checkout…”,出现操作窗口。
注意:只能检出Checkout到一个空文件夹。
把本地硬盘上的项目文件夹中的内容(不要复制项目的根文件夹)全部复制到[本地工作区] 文件夹中,并对文件夹中进行清理操作(同“导入Import”操作前的清理操作)。
然后选择[本地工作区] 文件夹单击鼠标右键跳出菜单,选择命令“提交Commit…”:提交对话框会显示每一个有修改的文件,包括新增的,删除的,还有没有版本控制的。
如果不想“提交Commit”某个有变更的文件,只需取消勾选那个文件即可。
相反,如果要提交某个未受版本控制的文件,只需勾选它就可以然后“提交Commit”即可。
3.3.日常开发中的SVN操作3.3.0.版本号的解释SVN系统中的版本号准确应该叫做“修订版本号”,每当版本库接受了一个提交Commit,文件系统进入了一个新的状态,叫做一次修订(revision),每一个修订版本被赋予一个独一无二的、递增的自然数,这个自然数就是修订版本号。
受控项目中任何一个受控文件/文件夹进行了修改提交Commit操作,项目的版本号就会提升一次,没有进行修改的文件/文件夹其版本号不会发生变化。
受控项目每一个装态都包含项目的所有文件/文件夹,引起该次版本号增加的即修改了的文件/文件夹保存新副本,没有发生修改的文件/文件夹保存引用,因此项目中的文件/文件夹可能与项目的版本号不同。
3.3.1.更新(Update)工作副本把他人做的修改融合到自己的本地副本当中,这个把改动从服务器拿到本地的过程就是“更新Update”。
“更新Update”操作可以针对一个文件,或几个被选择的文件,或某个文件夹中的所有文件。
选择想要进行“更新Update”操作的文件和(或)文件夹,单击鼠标右键,在菜单中选择“更新Update”,执行窗口显示正在“更新Update”的进度。
他人做的修改会合并到自己的文件中,而自己所做的修改会被保留。
如果不能合并,将会出现冲突(红色文字显示),冲突的文件图标将出现标志。
命令“更新至版本Update to Revision...”可以使[本地工作区]更新到自己选择的一个特定版本。
3.3.2.解决冲突选择的文件,点击鼠标右键菜单中选择“编辑冲突Edit Conflict”来打开合并工具或冲突编辑器,做一些必要的修改,然后保存文件。
然后选择菜单中的“已解决的Resolved”命令执行,接着提交commit修改到仓库。
注意:命令“已解决的Resolved”并没有真正的解决冲突,它只不过是把“文件名称.扩展名.mine”和“文件名称.扩展名.r*”(r*中星号代表任意位数字,即版本号)删除,并允许你提交修改而已。
因此,建议在有冲突发生时要先执行“编辑冲突Edit Conflict”再执行“已解决的Resolved”;如果确信自己的修改是正确的,不需要保留他人的修改,可将文件名称.扩展名.mine去掉“.mine”后缀,并把“.r*”后缀的文件和“”的文件删除,然后正常“提交Commit”,版本库中将保存自己的版本。
3.3.3.提交修改到仓库强烈建议在提交之前,应该确认[本地工作区] 是最新的。
可以直接作一次“更新Update”操作,或者先“检查更新Check for Modifications”看看在本地或在服务器上哪些文件修改过。
如果没有这样的操作直接提交的话,很有可能出现冲突现象。
“检查更新Check for Modifications”操作后的结果界面如下:如果[本地工作区] 是最新的,并且没有冲突,就可以提交你的修改了。
选中你想要提交的任意文件或文件夹,然后选择在菜单中选择“提交Commit…”在提交对话框中双击一个有修改的文件,可以启动外挂的比较工具来显示修改细节。
在按下“确定OK”按钮之后,会显示提交的进程情况。
3.3.4.比较差异(Diff)[本地工作区] 修改后,被修改的文件出现标志,选择“比较差异Diff”命令,可以查看该文件与版本仓库中文件具体差异,选择命令后出现对应的差异察看窗口。
3.3.5.加入(Add)新文件/新文件夹想把在开发过程中创建的新文件/文件夹加入到SVN控制之下,可以这样做:选中文件/文件夹(在新文件/文件夹所在父文件夹点击右键),然后在菜单中选择“添加Add”命令。
不需要受SVN控制的文件请取消钩选。
在把文件或文件夹加入到控制之下后,这些文件或文件夹就会显示为一个Added覆盖图标的样子,接下来必须对[本地工作区] 执行提交commit操作,以便其他团队成员能够看到这些文件或文件夹。
3.3.6.删除、重命名、移动选择要删除(或重命名)的文件/文件夹,点击鼠标右键选择相应命令:如果使用TortoiseSVN的“删除Delete”操作删除了一个文件/文件夹,文件就已经从[本地工作区]中删除了,而被“删除Delete”的文件夹将显示为覆盖图标。
要恢复被“删除Delete”文件/文件夹,只需对他的上级文件夹进行“SVN 还原revert”操作即可。
如果要在[本地工作区]内移动文件,可以使用鼠标来拖拽:1.选中要移动的文件或文件夹。
2.用鼠标右键拖拽他们到[本地工作区]中一个新的文件夹。
3.松开鼠标右键。
4.在跳出的菜单中选择相应命令,如下图:如果一个删除操作不是使用TortoiseSVN的“删除Delete”操作完成的,而是就像平常删除文件那样删除的。
提交时,对话框窗口还是会显示这些删除的文件,并提示自己把它们从版本控制下删除。