SVN 功能术语
TortoiseSVN常规功能
![TortoiseSVN常规功能](https://img.taocdn.com/s3/m/8f3f94c032d4b14e852458fb770bf78a65293a98.png)
TortoiseSVN常规功能1 TortoiseSVN 常规功能介绍TortoiseSVN 是最常⽤的Subversion 客户端软件,其所有功能都集成在系统右键中,通过系统右键菜单便可实现TortoiseSVN 的⽇常操作。
⾸先,需从配置库(repository)签出(check out)原始码的⼀个版本到本地⼯作⽬录。
然后,可以只编辑想要改变的⽂件,也可以新增⽂件或是删除不再需要的⽂件。
当完成时,可以签⼊(Commit)到库中如果在修改时,其它⼈已经改变了同⼀个⽂件,那么签⼊(commit)会失败。
那么必须从仓库(repository)更新(Update)所有的⽂件。
这将其它开发⼈员的改变⾃动合并到您的⽂件副本⾥。
但如果两个⼈改变了同⼀⾏程序代码或者修改的是⼆进制⽂件(如word、excel 等),这将发⽣“冲突(Conflict)”,必须⼿动解决冲突(见后⾯)。
1.1 初始化导⼊/import对于Subversion 来讲。
服务端进⾏配置后,项⽬版本库第⼀次运⾏,会由配置管理员进⾏第⼀次导⼊操作。
来到我们需要导⼊的项⽬根⽬录,依次导⼊D:\branchs;tags;trunk,⽬录下有若⼲个⽂件。
1)右键-> TortoiseSVN->导⼊/import2)版本库URL输⼊https://192.168.75.135/www3)系统提⽰输⼊⽤户名跟密码点击OK后就可以将数据导⼊到我们刚刚定义的数据库中了。
在进⾏初始化导⼊操作时,也可通过⿏标选中需要导⼊的⽂件夹直接拖拽“版本浏览/ Repo –Browser”右侧。
1.2 SVN 检出/SVN check out◆该操作可以将SVN 服务端所保存的数据下载⾄个⼈⼯作平台。
◆来到我们想要导⼊的项⽬根⽬录,在这个例⼦⾥是C:\Documents and Settings\\桌⾯\test,该⽬录为空:1)右键->SVN 检出/SVN check out2)版本库URL 输⼊svn://192.168.75.138/www(此处版本库URL 为subversion服务端IP 地址;检出⾄⽬录为C:\Documents and Settings\chengr.HS\桌⾯\test),点击确定。
SVN使用手册
![SVN使用手册](https://img.taocdn.com/s3/m/246876ca33d4b14e852468fc.png)
SVN使用手册目录0 SVN简介 (1)1 SVN服务器篇 (1)1.2 创建一个svn版本仓库名为svnrepos (1)1.2 设置登陆用户的用户名和密码 (2)1.3 设置用户权限 (2)1.4 修改svn服务文件 (3)1.5 启动svn版本库 (3)2 SVN客户端篇 (4)2.1 安装svn客户端 (4)2.1.1 svn的语言设置 (5)2.2 下载版本库 (6)2.3 推送版本库到服务器 (7)2.4 获取更新 (9)2.5 版本还原 (9)2.6 版本回退 (12)3 SVN分支管理篇 (13)3.1 svn分支简述 (13)3.2 svn分支管理 (14)3.2.1 建立主干分支目录结构 (14)3.2.2 创建分支 (15)3.2.3 合并分支到主干 (15)3.3 svn分支应用 (17)3.3.1 测试分支 (18)3.3.2 多分支并行 (18)3.3.3 分支合并的时机 (18)4 版本冲突篇 (18)4.1 版本冲突原因 (18)4.2 版本冲突现象 (19)4.3 版本冲突解决 (19)4.4 解决冲突的三种选择 (20)4.5 解决冲突 (21)4.6 如何降低冲突解决的复杂度 (22)附录 (23)常见SVN图标的含义 (23)0 SVN简介SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。
互联网上很多版本控制服务已从CVS迁移到Subversion。
说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
SVN是一个集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
TortoiseSVN使用讲解
![TortoiseSVN使用讲解](https://img.taocdn.com/s3/m/1b449ed13186bceb19e8bb8d.png)
TortoiseSVN使用讲解目录一. 基本概念 (1)1.1版本库 (1)1.2工作副本 (1)1.3版本模型 (1)二. 文件的状态信息 (2)三. TORTOISESVN菜单操作 (3)3.1I MPORT(导入) (3)3.2E XPORT(导出) (4)3.3C HECK O UT(签出) (5)3.4U PDATE(更新) (7)3.5U PDATE T O R EVISION(更新至版本) (8)3.6C OMMIT(提交) (8)3.7A DD(添加) (9)3.8D ELETE(删除) (10)3.9R ENAME(重命名) (10)3.10R EVERT(回滚/还原) (12)3.11C LEAN U P(清理) (12)3.12S HOW L OG(显示日志) (12)3.13R EPO-B ROWSER(版本浏览器) (15)3.14R ESOLVED(解决冲突) (16)3.15G ET L OCK(加锁) (18)3.16R ELEASE L OCK(解锁) (18)3.17A DD T O I GNORE L IST(添加到忽略列表) (19)3.17.1 设置忽略状态 (19)3.17.2 取消忽略状态 (20)3.18D IFF(比较修改部分) (22)3.18.1 本地更改内容与更改前内容比较 (22)3.18.2 本地更改内容与历史版本的比较 (22)3.18.3 两个历史版本的比较 (23)3.18.4 与另外一个分支/标签之间的比较 (24)3.18.5 比较两个文件差异 (25)3.19B RANCH/T AG(分支/标记) (25)3.20M ERGE(合并) (27)3.21S WITCH(切换) (31)3.22R ELOCATE(重新定位) (32)3.23C HECK F OR M ODIFICATIONS(检查更新/检查修改) (33)3.24R EVISION G RAPH(版本分支图) (33)3.25C REATE P ATCH(创建补丁) (34)3.26A PPLY P ATCH(应用补丁) (34)四. 右键拖拽功能 (35)五. TORTOISESVN设置 (35)5.1常规设置 (35)5.1.2 语言设置 (36)5.1.3 全局忽略样式 (36)5.1.4 将文件时间设置为“提交时间” (36)5.1.5 Subversion配置文件 (36)5.1.6 “_svn”/“.svn”切换 (37)5.2外部程序设置 (37)5.3已保存数据设置 (38)5.4其他设置 (38)六. 其他相关功能 (39)6.1密码修改 (39)七. SUBCLIPSE插件 (39)7.1S UBCLIPSE概述 (39)7.2安装 (39)7.3SVN R EPOSITORY E XPLORING(SVN资源库)的使用 (43)7.4在E CLIPSE中检出项目 (45)7.5资源管理器检出 (48)八. 常见错误 (48)一. 基本概念1.1 版本库SVN的核心是版本库,储存所有的数据,版本库按照文件树形式储存数据-包括文件和目录,任意数量的客户端可以连接到配置库,读写这些文件。
svn的功能介绍
![svn的功能介绍](https://img.taocdn.com/s3/m/50838cc149649b6648d74712.png)
SVN是一个版本控制工具,在团队开发中使用,使用一台计算机作为服务器,通过svn每个开发者对项目做的修改、添加都可以提交到服务器上,也可以从服务器上下载最新的项目代码,恢复已变更过或已删除的代码,保证项目的一致。
SVN全称为Subversion,意为版本控制系统,SVN是一个很优秀的版本控制工具,用于团队开发中的多人文档操作的更新、处理和合并。
SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。
作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。
什么是SVN(Subversion)?有一个简单但不十分精确比喻:SVN = 版本控制+ 备份服务器简单的说,您可以把SVN当成您的备份服务器,更好的是,他可以帮您记住每次上传到这个服务器的档案内容。
并且自动的赋予每次的变更一个版本。
通常,我们称用来存放上传档案的地方就做Repository。
用中文来说,有点像是档案仓库的意思。
不过,通常我们还是使用Repository这个名词。
基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到Repository上面。
日后,当您有任何修改时,都可以上传到Repository上面,上传已经存在且修改过的档案就叫做commit,也就是提交修改给SVN server 的意思。
针对每次的commit,SVN server都会赋予他一个新的版本。
同时,也会把每次上传的时间记录下来。
日后,因为某些因素,如果您需要从Repository下载曾经提交的档案。
您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。
如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。
SVN与CVS优缺点1 存储类型格式CVS是个基于RCS文件的版本控制系统。
每个CVS文件都不过是普通的文件,加上一些额外信息。
这些文件会简单的重复本地文件的树结构。
因此,不必担心有什么数据损失,如果必要的话可以手工修改RCS文件。
客户端如何使用SVN
![客户端如何使用SVN](https://img.taocdn.com/s3/m/08e8c23643323968011c9220.png)
9
显示日志/Show log
显示日志:该功能主要显示版 本库中过往的版本更新记录, 在操作中可以显示更改的详情。 点击Statistics可以查看统计 信 息: • 默认图表类型为Statistics • 可以选择Commits by date(提交日期)的图表 类型进行显示 • 也可以选择Commits by author(提交人)的图表 类型进行显示
29
创建分支/
Branch/tag
有几点需要注意: From URL表示要创建的这个分支是yunhai的分支(系统会自动添加 ,不必更改)。在To URL中,需要更改一下文件名,在文件名后加一 个标志即可,例如“_branch”,路径不需要更改。 必须选择要复制的源位置,在这里你有三个设置选项: 1)版本库中的最新版本 新分支直接从仓库中的最新版本里复制出来 2)版本库中指定具体的版本 在仓库中直接复制建立一个新分支同时也可以选择一个旧版本。假如 在你上周发布了项目时忘记了做标记,这非常有用。 3)工作副本 新的分支是一个完全等同于你的 本地工作副本的一个副本 注意:分支建立好后,若想在分支上进行工作,则需要先选择分支下 载在你工作目录。才能进行工作。下载分支与下载版本库一样。
10
查看版本树/Revision graph
• 在该文件上单击右键,选择TortoiseSVN→Revision graph • 主要作用是显示分支与合并,可以直观的了解版本变化的 过程。
11
版本浏览器/Repo-Browser
• 单击右键,选择 TortoiseSVN→Repo-Browser 版本库浏览工具,可以直观的显示版本 库中的受控文件。
18
重新定位/relocate
重新定位/relocate
SVN中trunk,branches,tags用法详解
![SVN中trunk,branches,tags用法详解](https://img.taocdn.com/s3/m/a85904dfa1c7aa00b52acb32.png)
SVN中trunk,branches,tags详细解说详解11.trunk是主分支,是日常开发进行的地方。
2.branches是分支。
一些阶段性的release(发布、发行)版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。
又比如为不同用户客制化的版本,也可以放在分支中进行开发。
3.tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。
注意:svn并没有明确的规范,更多的还是用户自己的习惯。
下面是详细介绍:比如一个项目有main.cpp, common.h两个文件,假设目前在开发的是最新的3.0版本,而且1.0/2.0版本也在进行维护,那么项目树将类似如下样子:project|+-- trunk+ |+ +----- main.cpp (3.0版本的最新文件)+ +----- common.h++-- branches+ |+ +-- r1.0+ + |+ + +---- main.cpp (1.x版本的最新文件)+ + +---- common.h+ ++ +-- r2.0+ |+ +---- main.cpp (2.x版本的最新文件)+ +---- common.h++-- tags (此目录只读)|+-- r1.0+ |+ +---- main.cpp (1.0版本的发布文件)+ +---- common.h++-- r1.1+ |+ +---- main.cpp (1.1版本的发布文件)+ +---- common.h++-- r1.2+ |+ +---- main.cpp (1.2版本的发布文件)+ +---- common.h++-- r1.3+ |+ +---- main.cpp (1.3版本的发布文件)+ +---- common.h++-- r2.0+ |+ +---- main.cpp (2.0版本的发布文件)+ +---- common.h++-- r2.1|+---- main.cpp (2.1版本的发布文件)+---- common.h要使用这样的文件夹结构,在建立项目版本库时,可首先建好项目文件夹,并在其中建立trunk, branches, tags三个空的子目录,再将项目文件夹连同这三个子目录一起导入版本库。
svn功能
![svn功能](https://img.taocdn.com/s3/m/905ab798d05abe23482fb4daa58da0116d171f4b.png)
svn功能
SVN(Subversion)是一个版本控制系统,可以管理和跟踪文
件和目录的修改历史。
它可以帮助团队协同开发,同时提供了版本控制、分支管理、冲突解决和协同开发等功能。
首先,SVN提供了版本控制功能,在一个项目中的每个文件
和目录都有一个独立的版本号,可以随时回溯到之前的版本。
这样,即使出现了错误或者需要回滚到之前的版本,也可以很方便地还原。
其次,SVN支持分支管理,可以创建不同的分支来进行独立
开发,然后将分支合并到主分支中。
这样可以避免多人同时修改同一个文件而引发冲突的情况,并保证团队成员的并行开发。
此外,SVN还可以帮助解决冲突。
当多个团队成员同时修改
了同一个文件,并提交到版本库时,SVN会自动检测到冲突,并给出冲突标记。
然后可以使用SVN提供的冲突解决工具,
手动解决冲突或者合并文件。
最后,SVN支持协同开发。
多个团队成员可以同时在同一个
项目上工作,并共享文件和目录。
通过SVN的权限管理功能,可以设定不同的权限给予不同的团队成员,控制他们对文件和目录的访问和修改权限。
总之,SVN作为一款强大的版本控制系统,不仅提供了版本
控制、分支管理、冲突解决和协同开发等基本功能,而且还具备高度稳定性和易用性。
它已经在许多软件开发团队中被广泛
应用,提高了团队协作效率,并帮助开发人员更好地管理和追踪项目的变更历史。
SVN主干(trunk)、分支(branch)、标记(tag)
![SVN主干(trunk)、分支(branch)、标记(tag)](https://img.taocdn.com/s3/m/b91b3ef4ccbff121dc36838b.png)
1 / 5SVN 主干(trunk)、分支(branch )、标记(tag)在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。
在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。
至于何时用tag,何时用branch,完全由人主观的根据规范和需要来选择,而不是强制的(比如cvs)。
一般情况下,trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch。
branch:是用来做并行开发的,这里的并行是指和trunk进行比较。
tag:是用来做一个milestone的,不管是不是发布版本,但都是一个可用的版本。
这里,应该是只读的。
更多的是一个显示用的,给人一个可读的标记。
比如,3.0开发完成,这个时候要做一个tag,tag_release_3_0,然后基于这个tag做发布,比如安装程序等。
trunk进入3.1的开发,但是3.0发现了bug,那么就需要基于tag_release_3_0做一个分支(branch),branch_bugfix_3_0,基于这个branch进行bug修改,等到bugfix结束,做一个tag,tag_release_3_0_1,然后,根据需要决定branch_bugfix_3_0是否并入主干(trunk)。
对于svn还要注意的一点,就是它是全局版本号,其实这个就是一个tag的标记,所以我们经常可以看到,什么release,基于xxx 项目的2xx版本。
就是这个意思了。
但是,它还明确的给出一个tag的概念,就是因为这个更加的可读,毕竟记住tag_release_1_0要比记住一个很大的版本号容易的多。
branches:2 / 5分枝当多个人合作,可能有这样的情况出现:John突然有个想法,跟原先的设计不太一致,可能是功能的添加或者日志格式的改进等等,总而言之,这个想法可能需要花一段时间来完成,而这个过程中,John的一些操作可能会影响Sally 的工作,John从现有的状态单独出一个project的话,又不能及时得到Sally对已有代码做的修正,而且独立出来的话,John的尝试成功时,跟原来的合并也存在困难。
svn常用命令总结
![svn常用命令总结](https://img.taocdn.com/s3/m/69cba9f031b765ce04081466.png)
SVN命令总结1.检出svn co http://路径(目录或文件的全路径) [本地目录全路径]2.导出(导出一个干净的不带.svn文件夹的目录树)svn export http://路径(目录或文件的全路径) [本地目录全路径] 也可指定要导出的版本号:svn export [-r 版本号]3.添加新文件svn add 文件名注:告诉SVN服务器要添加文件了,还要用svn commit -m真实的上传上去!4.提交svn commit -m “提交备注信息文本”文件名svn ci -m “提交备注信息文本”文件名必须带上-m参数,参数可以为空,但是必须写上-m5.更新文件svn updatesvn update -r 修正版本文件名svn update 文件名6.删除文件svn delete 文件名svn ci -m “删除备注信息文本”7.加锁/解锁svn lock -m “加锁备注信息文本”[--force] 文件名svn unlock 文件名8.比较差异svn diff 文件名svn diff -r 修正版本号m:修正版本号n 文件名9.将两个版本之间的差异合并到当前文件svn merge -r m:n path10.查看文件或者目录状态svn st 目录路径/名svn status 目录路径/名目录下的文件和子目录的状态,正常状态不显示:【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】11.查看日志svn log 文件名svn log ./ | more 查看多条记录 -->按空格键即可显示12.查看文件详细信息svn info 文件名13.svn 帮助svn help <-全部功能选项svn help ci <-具体功能的说明14.递归提交一个路径的拷贝到版本库svn import [PATH] URL15.清除锁定svn cleanup16.查看版本库下的文件和目录列表svn list svn://路径(目录或文件的全路径)svn ls svn://路径(目录或文件的全路径)17.创建纳入版本控制下的新目录mkdir newsubdir 创建新目录svn add --non-recursive newsubdirsvn ci -m “提交备注信息文本”目录名18.恢复本地修改svn revert [--recursive] 文件名注意: 本子命令不会存取网络,并且会解除冲突的状况。
TortoiseSVN客户端常用命令详解
![TortoiseSVN客户端常用命令详解](https://img.taocdn.com/s3/m/fa47d46fa0116c175e0e487a.png)
TortoiseSVN客户端常用命令详解1、Checkout首先要Checkout服务器端的Repository,所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。
Checkout的具体方式是:在客户端新建一个空目录,比如:F:\Project1 (确保是空的)在该目录上单击右键,在弹出式菜单中选中SVN Checkout...,之后按要求录入内容:然后点OK,会弹出一个认证对话框,输入用户名和密码。
点OK后就完成了对Repository的Checkout。
检出后,所有检出文件上都打着绿色对勾:命令方式检出1:在DOS命令中输入需要检出的目录:http://192.168.1.210:8081/svn/svnproject/Knowledge2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图: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,就可以添加多个文件或目录。
svn的功能
![svn的功能](https://img.taocdn.com/s3/m/cc50e8963086bceb19e8b8f67c1cfad6195fe987.png)
svn的功能SVN是一个版本控制系统,它能够帮助开发团队更好地管理和控制软件项目的代码。
SVN具有以下主要功能:1. 版本控制:SVN提供了一种方法来跟踪代码和文件的各个版本。
每次提交代码变更时,SVN都会记录下来,包括谁提交了变更、何时提交的以及变更的内容。
这样,团队成员可以随时查看以往的代码版本,回滚到旧的版本或与最新的版本进行比较。
2. 并行开发:SVN允许多个开发者并行开发不同的功能或模块。
每个开发者可以在自己的工作副本中独立进行工作,并将他们的更改与主代码库同步。
SVN可以自动合并并解决冲突,确保不同的开发者之间的代码不会冲突。
3. 分支和合并:SVN支持创建分支和合并的功能。
分支是在项目中创建一个复制的副本,可以在分支上进行不同的开发或实验,而不会影响主代码库。
一旦完成了开发,可以将分支的更改合并回主代码库,从而保持代码的完整性和一致性。
4. 可视化界面:SVN提供了一个易于使用的可视化界面,以帮助用户管理代码库和执行各种操作。
用户可以通过图形界面浏览代码历史记录、查看和比较不同版本之间的差异、创建和合并分支等。
这使得版本控制过程更加直观和便捷。
5. 访问控制:SVN具有强大的访问控制功能,可以限制不同用户或用户组对代码库的访问权限。
这有助于保护项目的安全性,确保只有授权的人员才能访问和修改代码。
6. 错误追踪:SVN集成了错误追踪系统,可以让开发者轻松地跟踪和解决软件中的问题。
当出现错误时,开发者可以创建一个错误报告,并将其与相应的代码版本相关联。
这样,开发者就可以更好地理解问题的来源,并及时解决它。
总的来说,SVN是一个功能强大且广泛应用的版本控制系统,可以帮助开发团队更好地管理和控制软件项目的代码。
它具有版本控制、并行开发、分支合并、可视化界面、访问控制和错误追踪等多种功能,为团队协作和项目管理提供了强大的支持。
通过使用SVN,开发者可以更加高效地进行代码开发和维护,确保项目的稳定性和可维护性。
svn全部命令与中文详细解释
![svn全部命令与中文详细解释](https://img.taocdn.com/s3/m/5123d471f46527d3240ce0d1.png)
----------------------------------------------------------------------SVN 全部命令与中文详细解释:----------------------------------------------------------------------C:\Documents and Settings\Administrator>svn ?用法: svn <subcommand> [options] [args]Subversion 命令行客户端,版本 1.6.6。
使用“svn help <subcommand>”显示子命令的帮助信息。
使用“svn --version”查看程序的版本号和版本库访问模块,或者使用“svn --version --quiet”只查看程序的版本号。
大多数的子命令可接受文件或目录参数,对目录进行递归处理。
如果没有指定参数,默认对当前目录(包含当前目录)递归处理。
可用的子命令:add:把文件和目录纳入版本控制,通过调度加到版本库。
它们会在下一次提交时加入。
blame (praise, annotate, ann):输出指定文件或URL的追溯内容,包含版本和作者信息。
cat:输出指定文件或URL的内容。
changelist (cl):耦合(或解耦)文件与修改列表 CLNAME。
checkout (co):从版本库签出工作副本。
cleanup:递归清理工作副本,删除锁,继续未完成操作,等等。
commit (ci):把工作副本的修改提交到版本库。
copy (cp):在工作副本或版本库中复制数据,保留历史。
delete (del, remove, rm):从版本库中删除文件和目录。
diff (di):显示两个版本或路径的差异。
export:产生一个无版本控制的目录树副本。
help (?, h):描述本程序或其子命令的用法。
SVN规范与使用
![SVN规范与使用](https://img.taocdn.com/s3/m/f1a4d0ec7c1cfad6195fa762.png)
SVN规范(1)每次提交(Commit)必须写注释,简单描述本次提交所做的变动。
讨论:是否需要规定注释的写法和详细程度(2)禁止无用代码提交到版本库,本地配置文件不得上传。
(3)个项目新功能开发在trunk中进行,bug修改在branchs中进行。
(如有多个新功能同时进行,将多开一个branch,在其中进行开发)。
(4)急时合并,临时修改、紧急BUG等测试通过后马上合并回主干,不要在版本发布前统一合并,容易出问题。
(5)每天将代码提交到版本库。
建议SVN(1)每次提交前先更新一下,防止不必要的冲突。
SVN TortoiseSVN 1.8.7使用基础SVN(1)svn checkout1.Url of repository : SVN版本库地址2.Checkout directory : 下载到本地的目录3.Fully recursive : 全递归:检出完整的目录树,包含所有的文件或子目录,一般默认就选这个Immediate children,including folders : 把当前文件夹下的子文件及子文件夹都签出,但签出的子文件夹是空的,子文件夹下的 文件是不会签出的 Only file children : 只把当前文件夹下的直接子文件签出,其下的子文件夹(及其子文件)不签出Only this item : 只把当前文件夹签出,其中为空,不包含任何子文件及子文件夹4.Choose items : 点开后默认是全选的,如果下载时不想包含某个目录或文件时可以取消前面的勾5.HEAD revision 更新到最新版本6.Revision 更新到指定版本(2)svn update1.显示了更新的列表2.更新到版本193.显示更新了4个文件,新增了3个文件(3)svn commitmit to : 版本提交路劲2.Message : 注释的提交框3.Recent message : 最近的提交注释4.show unversioned files 如果勾选上则显示不在版本库中的文件5.check: 提交文件快速选择all 文件全选none 文件全不选non-versioned 不在版本库中的文件versioned 在版本库中的文件added 新增的文件deleted 删除的文件modified 修改的文件files 文件directories 目录(4)show log此功能点的使用方式如下:1. 按版本号、作者、时间、注释等进行搜索版本2. 按时间段列出期间提交的版本3. 版本信息4. 当前版本的注释信息(117)5. 当前版本所提交的具体文件,包括文件路劲,动作信息等。
版本控制介绍及SVN使用方法
![版本控制介绍及SVN使用方法](https://img.taocdn.com/s3/m/d2a32a00763231126edb1170.png)
增加(Add)
在testsvn目录下新建一个项目文件testadd.cpp 提交到版本库的方法 方法一:先提交到变更列表中,再 commit到配置库。选 择该新增文件,右键svn菜单执行“Add”操作提交到 “变更列表”中,然后右键svn菜单执行“SVN Commit” 提交到版本库 方法二:不提交到变更列表中,而是直接commit到配置 库。选择该新增文件的父目录,右键svn菜单执行”SVN Commit”操作,在弹出的“变更列表中”选择新增的文 件
TortoiseSVN Client基础操作(二)
显示日志(Show log) 版本库浏览(Repo-browser) 版本分支图(Revision graph) 追溯(blame) 导入(Import) 导出(Export)
获取锁定(Get lock) 解除锁定(Release lock)
为什么要使用Subversion(SVN)
Subversion(SVN)支持并行开发;版本控制;方便我们进 行产品管理、变更管理;进行过程控制,同时能在项目组 内实现代码共享。
什么是Subversion(SVN)
SVN 是一个跨平台的软件,支持大多数常见的操作系统。 作为一个开源的版本控制系统,SVN 管理随时间改变的 数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记 住每一次文件的变动。这样你就可以把文件恢复到旧的版 本, 或是浏览文件的变动历史。Subversion 是一个通用的 系统, 可用来管理任何类型的文件, 其中包括了程序源码。
TortoiseSVN图标介绍
如果你拥有了一个文件的锁,并且Subversion状态是 正常,这个重载图标就提醒你如果不使用该文件的话应该 释放锁,允许别人提交对该文件的修改。 这个图标表示当前文件夹下的某些文件或文件夹已经 被计划从版本控制中删除,或是该文件夹下某个受控的文 件丢失了。 加号告诉你有一个文件或是目录已经被计划加入版本 控制。
SVN提交代码缩写
![SVN提交代码缩写](https://img.taocdn.com/s3/m/a7104192d0f34693daef5ef7ba0d4a7303766c66.png)
SVN提交代码缩写一. svn 提交代码时的关键子缩写A:add,新增C:conflict,冲突D:delete,删除M:modify,本地已经修改G:modify and merGed,本地文件修改并且和服务器的进行合并U:update,从服务器更新R:replace,从服务器替换I:ignored,忽略二.svn 常用命令1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn add file例如:svn add test.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 ci4、加锁/解锁svn lock -m "LockMessage" [--force] PATH例如:svn lock -m "lock test file" test.phpsvn unlock PATH5、更新到某个版本svn update -r m path例如:svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)svn update test.php(更新,于版本库同步。
如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)简写:svn up6、查看文件或者目录状态1)svn status path(目录下的文件和子目录的状态,正常状态不显示)【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】2)svn status -v path(显示文件和子目录状态)第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
svn的常用命令
![svn的常用命令](https://img.taocdn.com/s3/m/ce77163d6fdb6f1aff00bed5b9f3f90f76c64d25.png)
svn的常用命令
SVN(Subversion)是一个开源的版本控制工具,它可以帮助开发者管理代码的历史版本,协同开发,协调多人开发时的代码变更,防止代码冲突等问题。
下面是SVN的常用命令:
1. svn checkout:从SVN服务器上下载一个版本库到本地电脑。
2. svn update:更新本地版本库到最新版本。
3. svn commit:将本地修改推送到远程服务器。
4. svn add:将新文件添加到版本库中。
5. svn delete:删除文件或文件夹。
6. svn status:查看当前目录下所有文件和子目录的状态。
7. svn log:查看版本库的历史记录。
8. svn diff:比较本地文件和服务器上的文件的差异。
9. svn merge:将不同分支上的代码进行合并。
10. svn revert:撤销本地修改,恢复到之前的版本。
以上是SVN的常用命令,掌握这些命令可以帮助开发者更好地使用SVN进行版本控制,提高代码管理的效率。
- 1 -。
SVN使用说明手册(详细精华版)
![SVN使用说明手册(详细精华版)](https://img.taocdn.com/s3/m/e53c74c80508763231121294.png)
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的欢迎界面,如下图所示:点击“登陆”按钮进入登陆界面,如下图所示:输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示:点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:在上图界面的“新密码”和“重复新密码”框中输入你设定的新密码,两框中的密码要保持一致。
在“当前用户密码”框中输入你的先前的登陆密码,。
点击“确定”按钮修改密码,后返回到编辑用户成功界面,在此界面中点击“退出”按钮完成此操作。
SVN培训课件
![SVN培训课件](https://img.taocdn.com/s3/m/934aec405bcfa1c7aa00b52acfc789eb172d9e15.png)
2. 配置网络和 防…
根据实际网络环境和安 全需求配置网络和防火 墙设置,确保SVN服务 器的安全性和可用性。
3. 考虑数据安 全…
为了保证数据的安全性 和完整性,需要定期备 份数据并制定相应的应 急预案。
05
SVN与Git的区别与选择
分支切换
通过切换分支,可以方便地在不同分支之 间进行代码的切换和合并。
分支删除
当分支不再需要时,可以将其删除,以节 省存储空间和简化管理。
SVN与团队协作的最佳实践
共享SVN存储库
团队协作的核心是共享SVN存储库 ,使得团队成员可以方便地访问和 更新代码。
使用标签
标签可以帮助团队成员快速找到特 定版本或里程碑的代码,以便进行 回归测试和演示。
SVN支持原子提交,这意味着每个提交都是一 个完整的版本,不会出现部分更新的情况。
SVN的分支与合并
SVN支持分支和合并,使得开发人员可以在一个分 支上独立开发,然后在合并分支时将更改合并回主
分支。
分支用于隔离开发,避免主分支上的冲突和中断, 同时可以尝试新的功能和实验。
合并是SVN中非常强大的功能,它允许将一个分 支的更改合并到另一个分支中。合并操作可以自
动完成,但有时也可能需要手动解决冲突。
02
SVN服务器搭建
SVN服务器安装与配置
选择合适的SVN服务器版本
01
选择符合自己需求的SVN服务器版本,例如TortoiseSVN、
VisualSVN等,并下载安装。
安装SVN服务器
02
根据所选版本,按照相应的安装向导完成SVN服务器的安装。
配置SVN服务器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SVN版本控制工具
术语表
在空目录文件上右击出现如下菜单:
在带有svn图标的文件目录上右击出现的功能菜单:
SVN各种图标的含
一个新检出的工作复本使用绿色的对勾做重载。
表示Subversion 状态正常.
在你开始编辑一个文件后,状态就会变成已修改,而图标变成了红色感叹号。
表示这些文件从你上次更新工作复本后被修改过,需要被提交。
如果在提交的过程中出现了冲突图标变成黄色感叹号。
如果你给一个文件设置了svn:needs-lock 属性,Subversion 会让此文件只读,直到你获得
文件锁。
只读文件具有这个重载图标来表示你必须在编辑之前先得到一个锁。
如果你拥有了一个文件的锁,并且Subversion 状态是正常,这个图标就提醒你如果不使用该文件的话应该释放锁,允许别人提交对该文件的修改。
表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件不见了。
加号告是说你有一个文件或目录已经被计划加入版本控制。
SVN部分功能介绍:
CheckOut---------------取出SVN服务器上的项目到本地;在任意空目录下,“右键 -> SVN Checkout”,在对话框“URL...”中输入服务器项目地址。
check in----------------------将项目存入SVN服务器
Update----------------------------更新;
(右击下载在好的文件目录, 点击”SVN Update”自动更新文件内容.)
svn Commit------------------提交; (在SVN工作目录中打开文件,作出修改,然后“右键 -> SVN Commit... ”进行提交; )
Show History-------------------------------查看历史变更
check of modificatioins-----------------检查修改
Clean up--------------------------------清理
Resolving Conflicts--------------------解决冲突
Branch/tag------------------------------分支/标记
Merge------------------------------------合并
Export-----------------------------------导出
Add-----------------------------------------增加文件或目录
Create Patch-------------------------------------创建
Apply Patch-----------------------------应用补丁
Revision graph---------------------------版本图
Relocate---------------------------------重新定位SVN服务器地址
show log -------------------------------查看文件或目录的日志
( 右击SVN本地下载文件目录,点击TortoioseSVN--->show log, 弹出下列对话框,可以查看有那几个人修改了文件或目录的日志)
Get lock--------------------------------加锁
Release lock----------------------------解锁
(加锁/解锁 ,需输入用户名和密码)
SVN主要功能介绍:
1. 目录归档
在“源代码管理目录中”(非PB工作根目录),建立目录,再加入SVN,再提交。
2. 文件归档
新建文件后(如:word、文本、图片…),或从其他地方拷贝到“源代码管理目
录”或其下的子目录(注:其下的子目录也必有归档),文档也要先加入SVN,再提交。
3. 刷新目录或文件。
点SVN Update从SVN 取得最新版本。
4. 删除文件或目录。
在目标上,点出删除菜单后SVN \ Delete再提交SVN \
Commit
5. 查看文件或目录的日志。
在目标上,点出SVN \ Show log
6. 重命名文件。
可直接修改。
或在文件上点出SVN \ Rename…
7. 远程访问SVN。
使用http://主机地址:端口号/svn/项目名称,输入用户密
码之后方可访问。
8. 更新出错的处理。
如果你更新到指定版本,再送交是将出现out of date 错误!如果你想撤销修改并从以前的版本开始工作,你必须使用从“显示记录”对话框中选择复原自此版本以来的变更Revert changes fromthis revision 命令或使用快捷菜单中的合并Merge... 菜单命令。
更新至版本Update to Revision... 命令允许复原至低版本。
比如你的工作目录版本是100,
你想复原至版本50-直接填写在复原对话框中填写复原至版本50。
通常,不复原单个文件,确实需
要,从记录对话框(Log)选择储存版本至Save revision to... 命令。