本项目svn使用快速入门
- 格式:doc
- 大小:1.68 MB
- 文档页数:30
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教程在科研活动中,团队合作是必不可少的,我们经常会将一个项目分为不同的版块,然后由不同的成员来完成,如何将成员的工作成果实时同步到一起方便工作的进行尤为重要,这里要介绍一种便捷的项目管理方法,建立服务器,团队成员都可以往服务器上传或者下载文件,方便项目文件的管理。
需要的软件有VisualSVN-Server(服务器,组长安装就可以了)和TortoiseSVN(客户端,所有成员都要安装),这两种软件都是免费的。
安装方法简单,与一般的windows应用程序安装过程一样。
作者写这篇教程的时候的操作系统是Windows XP ,所用的软件版本是VisualSVN-Server-2.0.10和TortoiseSVN-1.6.3.16613-win32-svn-1.6.3。
不同的电脑要根据不同的情况选择不同的版本。
操作示范:一创建文件夹打开VisualSVN server 服务器,如下图,然后选中Repositories,右键选择create new repository ,写下项目的名称,一般为英文字母,空格等非法字符会报错。
然后可以在创建好的库文件下创建自己想要的文件夹,用以存放不同的文件。
作者这里创建的文件夹有codes,用来存放代码;diagrams,用来存放图表;docs,用来存放word文档等等,还有项目相关文件夹。
文件存储时一般命名为v1.0,v2.0等等用以表示不同版本。
二创建用户选中User,右键create user ,根据自己的意愿创建用户,可创建多个用户,这样不同的项目组成员就可以登录服务器进行文件共享或者下载操作了。
三登录客户端首先要在服务器端复制URL ,利用聊天软件发送给项目组成员,用以后面的客户端登录服务器。
前面安装好TortoiseSVN后,直接在桌面右键会提示TortoiseSVN的标志,选中repo-browswer,启动客户端。
输入之前的URL,点击确定后等待。
SVN安装与使⽤教程总结转载:SVN简介:为什么要使⽤SVN?程序员在编写程序的过程中,每个程序员都会⽣成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。
Subversion是什么?它是⼀个⾃由/开源的版本控制系统,⼀组⽂件存放在中⼼版本库,记录每⼀次⽂件和⽬录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过⽹络访问它的版本库,从⽽使⽤户在不同的电脑上进⾏操作。
⼀:SVN服务器搭建和使⽤。
1. ⾸先来下载和搭建SVN服务器,下载地址如下: ,进⼊⽹址后,滚动到浏览器最底部看到如下截图:个⼈认为最好⽤VisualSVN server 服务端和 TortoiseSVN客户端搭配使⽤. 点开上⾯的VisualSVN连接,下载VisualSVN server,下载完成后双击安装,如下图:点击Next下⼀步,如下:然后再点击Next项,下⼀步,如下:点击【Next】如下:Location是指VisualSVN Server的安装⽬录,Repositorys是指定你的版本库⽬录.Server Port指定⼀个端⼝,Use secure connection勾⼭表⽰使⽤安全连接,点击Next,进⼊下⼀步,如下图:再点击【Install】,进⼊如下安装图:等待安装完成后,点击【next】,进⼊下⼀步:如下图点击【Finish】即可完成安装。
安装完成后,启动VisualSVN Server Manager,如图:可以在窗⼝的右边看到版本库的⼀些信息,⽐如状态,⽇志,⽤户认证,版本库等.要建⽴版本库,需要右键单击左边窗⼝的Repositores,如下图:在弹出的右键菜单中选择Create New Repository或者新建->Repository:进⼊下⼀步,如下图:点击【下⼀步】,如下图:点击【create】,如下图:点击【Finish】即可完成基本创建。
中国SVN源代码托管中心- 使用帮助文档让我们从零开始,Step By Step地尝试使用Svn Hosting及Subverson这个超级工具来革新我们的开发流程。
第一步,注册帐号并新建项目1. 首先你需要先注册一个Svn Hosting的帐号并成功激活;2. 登录后,点击“我的项目”,在里面新建一个项目;3. 新建成功后,点击该项目的详细页,复制“SVN地址”的链接。
第二步,checkout1. 下载和安装SVN的客户端TortoiseSVN,安装完成后不需要重启,但重启完可以看到资源管理器里文件夹图标的更新。
2. 从Svn Hosting上Checkout源代码-TortoiseSVN是一个资源管理器的插件,安装完成以后,鼠标右键点任何文件夹或者桌面都有TortoiseSVN的菜单项。
选择SVN Checkout,如下图示:3. 填写源代码的SVN路径和本地文件夹。
就是刚刚你在Svn Hosting上新建的那个项目,复制下来的那个地址。
例如,源代码路径是/svn/test_-这个是我在SVN Hosting上建立的一个测试项目。
4. 然后他会提示你输入帐户,密码,将你在SVN Hosting注册的帐号和密码填上就OK。
第三步,把你的程序源码放入源码库1. 你是不是发现checkout下来的目录空空如也,如果你打开这个目录,你会发现除了一个.svn的隐藏目录,空空如也。
是的,这是正常的。
.svn目录用来记录你所有的操作记录,以一种不可思议的纪录方式。
图4:checkout finished后图5:目录列表-这些小图标正是版本管理的标志,表明了这些目录正在使用SVN进行管理。
打勾表示当前目录没有作代码更新;打“!”表明你更改了源代码,需要commit了。
图五:进到test目录里,发现空空如也,这是正常的,你没有放任何源码进去。
2. 现在,把你的源码放进去这个目录里面吧。
第四步,Commit和Update1. 你现在应该要把你这个项目的代码提交到源代码库了。
SVN客户端使用教程一、TotoiseSVN的基本使用方法1、签入源代码到SVN服务器假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit 文件夹,这时候的右键菜单如下图所示:点击Import,弹出下面的窗体,其中/是服务器名,本环境中在内网的访问地址为https://172.16.1.159:8443/svn/或https://ncse-5042:8443/svn/外网访问地址为https://210.76.109.99:8443/svn。
svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库:说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。
点击OK按钮,会弹出下面的窗体,要求输入凭据:在上面的窗体中输入用户名和密码,点击OK按钮:如上图所示,好了,源代码已经成功签入SVN服务器了。
这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。
2、签出源代码到本机在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。
说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。
上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入/svn/StartKit/(本环境为https://210.76.109.99:8443/svn/xx/)这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。
搞定!源代码已经成功签出到刚才新建的StartKit目录中。
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.创建仓库:
-打开控制台,输入“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”按钮即可撤销变更。
项目导入(项目初始化) (3)1、安装。
AnkhSvn-2.0.6347.433vs开发客户端。
成功后文件菜单下就会出现sub。
(3)2、项目框架导入svn (3)3、输入对应的链接串(svn://117.40.28.171)注意一般会添加主线(trunk)选上那个多选框,点击ok后就会要求输入用户名密码。
(4)4、刚刚只是准备上传文件,并没有真正的把文件上传co。
才真正的上传了文件 (4)项目下载(程序员使用) (5)1、导出svn中的项目 (5)2、输入正确的链接串,打开项目 (5)3、选择好本机存储路径(添加分支和标签暂时还用不到)一般添加到解决方案。
不要添加到具体的项目。
(6)4、提交修改(一般提交整个解决方案,那样方便) (7)5、下载svn库最新版本(update) (7)6、所有的本地改动都可以通过页面改变窗口来看。
(8)7、在此窗口可以看到所有的改变,也可以提交和更新。
注意提交前一定要写入修改日志 (8)冲突解决 (9)1、当本地库的版本低于svn库时,提交会出现冲突 (9)2、首先update一下。
当当前修改的与svn库的最新版本在同一行或同一代码快时如下,需要手动修改两处的代码。
(9)3、提交之前必须要删除三个文件。
先找到本地项目的地址删除下面几个文件就行,目前只能去找目录,如果vs可以查看所有文件就可以方便点。
(9)Svn服务器已经被设置登入后有读写权限,所以下面的操作要填写用户名,密码。
让系统记住密码会方便点修改代码前首先update下,下载svn库最新版本。
代码修改完毕或下班前提交代码。
注意要写日志。
项目导入(项目初始化)1、安装。
AnkhSvn-2.0.6347.433vs开发客户端。
成功后文件菜单下就会出现sub。
Eclipse安装对应的插件就行2、项目框架导入svn点击ok后就会要求输入用户名密码。
4、刚刚只是准备上传文件,并没有真正的把文件上传co。
才真正的上传了文件1、导出svn中的项目2、输入正确的链接串,打开项目3、选择好本机存储路径(添加分支和标签暂时还用不到)一般添加到解决方案。
不要添加到具体的项目。
添加类库修改代码(图标发生改变)4、提交修改(一般提交整个解决方案,那样方便)5、下载svn库最新版本(update)6、所有的本地改动都可以通过页面改变窗口来看。
7、在此窗口可以看到所有的改变,也可以提交和更新。
注意提交前一定要写入修改日志冲突解决1、当本地库的版本低于svn库时,提交会出现冲突2、首先update一下。
当当前修改的与svn库的最新版本在同一行或同一代码快时如下,需要手动修改两处的代码。
提交时报错3、提交之前必须要删除三个文件。
先找到本地项目的地址删除下面几个文件就行,点击显示所有文件也可以显示,然后删除。
Svn .net项目.必须带有类库的工程,否则会导入不上去在实际的使用中,由于项目的目录本身就是作为版本库的一个部分被svn所收管,所以我们无法利用服务器操作系统的访问权限,来实现项目目录的访问控制。
因此,这个问题就只有让svn自己来解决了。
1.3以前的Subversion,只能利用mod_authz_svn.so 模块,结合Apache服务器来实现目录访问控制,这对Apache的配置与使用不是很熟悉的人来说(比如说作者本人)就不是很方便了。
而Subversion终于在 1.3 版本上,在svnserve.exe 服务器里面添加了这一功能。
本文就是介绍如何配置代码库配置文件,以便让svnserve.exe 实现精细的目录访问权限控制。
本文面向那些Subversion的管理员,或者任何对Subversoin有兴趣的人们。
本文假定读者对Subversion有一定的了解,因此不打算对所有涉及到的安装、使用,做一个细节性的描述。
若对于文章中描述的技术细节有疑问,请访问“参考”一节里面的参考资料。
如果你对本文任何地方有什么意见,请联系zhengxinxing gmail com 。
本文是利用reST 格式来编写的,如果你对它感兴趣,请访问/rst.html实战====首先先简要说明一下配置的步骤,如果你觉得对配置有什么疑问,或者看不懂,请不要着急,我会在后面的章节详细描述的。
背景假设--------厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。
- svn服务器相关信息- 服务器地址:192.168.0.1- 服务器OS:MS Windows 2000 Server Edition 中文版- 代码库本地目录:``D:\svn\arm``- arm部门文档的目录结构如下::arm 部门名称├─diary 工作日志目录│├─headquarters 总部工作日志目录│├─beijing 北京办日志目录│└─shanghai 上海办日志目录├─ref 公司公共文件参考目录└─temp 临时文件目录- 人员情况- morson,公司总经理,其实他不必亲自看任何东西,就连部门经理们的每周总结都不一定看。
但是为了表示对他的尊敬,以及满足一下他的权力欲,还是给他开放了“阅读所有文档”的权限- michael,arm事业部的部门经理,要可以看到所有人的工作日志- scofield,北京办人员,老员工,为人油滑难管- lincon,上海办人员,老员工,大老实人一个- tchwu,新手,总部协调员、秘书,文笔不错- rory,单片机技术员,技术支持- 访问权限需求分析- 除部门经理外,所有其他人员,均只能看到本办事处人员工作日志- 不允许匿名访问- ref目录只允许经理和秘书写,对其他人只读- temp目录人人都可以写建立代码库----------在服务器D:\svn 目录下,建立arm 代码库,命令如下::D:\svn>svnadmin create arm在客户机F:\temp 目录下,建立好上述目录结构用命令``F:\temp>svn import arm svn://192.168.0.1/arm`` 导入结构【注意点:关于导入时候的细微差别】编辑代码库配置文件------------------编辑代码库``arm\conf\svnserve.conf`` 文件,如下::[general]password-db = passwd.confanon-access = noneauth-access = writeauthz-db = authz.conf管理用户帐号------------新建代码库``arm\conf\passwd.conf`` 文件,如下::[users]morson = ShowMeTheMoneymichael = mysecretpasswordscofield = hellolittilekillerlincon = asyouknows111rory = 8809117tchwu = pppPp123建立目录访问权限控制文件------------------------新建代码库``arm\conf\authz.conf`` 文件,内容如下::[groups]g_vip = morsong_manager = michaelg_beijing = scofieldg_shanghai = lincong_headquarters = rory, tchwug_docs = tchwu[arm:/]@g_manager = rw* = r[arm:/diary/headquarters]@g_manager = rw@g_headquarters = rw@g_vip = r* =[arm:/diary/beijing]@g_manager = rw@g_beijing = rw@g_vip = r* =[arm:/diary/shanghai]@g_manager = rw@g_shanghai = rw@g_vip = r* =[arm:/ref]@g_manager = rw@g_docs = rw* = r[arm:/temp]* = rw测试----在服务器上,打开一个DOS Prompt 窗口,输入如下指令::svn co svn://127.0.0.1/arm --no-auth-cache --username rory --password 8809117我们应该得到如下目录结构::arm├─diary│└─headquarters├─ref└─temp然后修改ref目录下任意文件并提交,服务器将会报错“Access deni”深入====本章将详细介绍前一章所涉及的两个配置文件,svnserve.conf 和authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。
这里首先要注意一点,任何配置文件的有效配置行,都不允许存在前置空格,否则程序会无法识别。
也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4个空格全部删除。
当然了,如果你觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许UltraEdit 的“Column Mode”编辑模式,可以给你很大帮助呢。
其次,任何有效的配置项,都请使用ASCII码来表达。
由于Subversion 天生对中文的支持力度不够,你如果想要使用中文用户名、中文文件目录等,你会很郁闷的发现,它们无法正常工作。
希望到了Subversion 2.0 的版本,可以支持中文。
svnserve.conf-------------``arm\conf\svnserve.conf`` 文件,是svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。
首先,我们告诉svnserve.exe,用户名与密码放在passwd.conf 文件下。
当然,你可以改成任意的有效文件名,比如默认的就是passwd::password-db = passwd.conf接下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。
那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在passwd.conf 文件里面持有用户名密码的家伙。
这两行的等号后面,目前只允许read write none 三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件::anon-access = noneauth-access = write接下来就是最关键的一句呢,它告诉svnserve.exe,项目目录访问权限的相关配置是放在authz.conf 文件里::authz-db = authz.conf当然,svn 1.3.2 引入本功能的时候,系统默认使用authz 而不是authz.conf 作为配置文件。