
SVN全名Subversion,即版本控制系统。SVN与CVS一样,是一个跨平台的软件,支持大多数常见的 *** 作系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括了程序源码。
SubVersion:实现服务系统的软件。
TortoiseSVN:是SVN客户端程序,为windows外壳程序集成到windows资源管理器和
文件管理系统的Subversion客户端。
SVNServiceexe:是专为SubVersion开发的一个用来作为Win32服务挂接的入口程序。
AnkhSVN:是一个专为VisualStudio提供SVN的插件。
Subversion提供以下主要功能:
目录SVN版本控制
CVS只能跟踪单个文件的历史,不过Subversion实作了一个“虚拟”的版本控管文件系统,能够依时间跟踪整个目录的变动。目录和文件都能进行版本控制。
真实的版本历史
自从CVS限制了文件的版本记录,CVS并不支持那些可能发生在文件上,但会影响所在目录内容的 *** 作,如同复制和重命名。除此之外,在CVS里你不能用拥有同样名字但是没有继承老版本历史或者根本没有关系的文件替换一个已经纳入系统的文件。在Subversion中,你可以增加(add)、删除(delete)、复制(copy)和重命名(rename),无论是文件还是目录。所有的新加的文件都从一个新的、干净的版本开始。
自动提交
一个提交动作,不是全部更新到了档案库中,就是完全不更新。这允许开发人员以逻辑区间建立并提交变动,以防止当部分提交成功时出现的问题。
纳入SVN版本控制的元数据
每一个文件与目录都附有一组属性关键字并和属性值相关联。你可以创建,并储存任何你想要的Key/Value对。属性是随着时间来作版本控管的,就像文件内容一样。
选择不同的网络层
Subversion有抽象的档案库存取概念,可以让人很容易地实作新的网络机制。Subversion可以作为一个扩展模块嵌入到Apache>
svn查看版本历史时Item
is
not
readable
svn:条目不可读的问题问题:svn
查看资源历史记录失败
,并提示Item
is
not
readable解决:
>
TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。
TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。
TortoiseSVN每个菜单项都表示什么意思
01、SVN Checkout(SVN取出)
点击SVN Checkout,d出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout directory输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。
02、SVN Update(SVN更新)
如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update即可,点击SVN Update,系统d出更新提示框,点击确定,则把服务器是最新版本更新下来
03、Import(导入)
选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统d出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击确定,则文件导入到服务器仓库中。
04、Add(加入)
如果有多个文件及文件夹要提交到服务器,我们可以先把这些要提交的文件加入到提交列表中,要执行提交 *** 作,一次性把所有文件提交,如图,可以选择要提交的文件,然后点击执行提交(SVN Commit),即可把所有文件一次性提交到服务器上
05、Resolving Conflicts(解决冲突)
有时你从档案库更新文件会有冲突。冲突产生于两人都修改文件的某一部分。解决冲突只能靠人而不是机器。当产生冲突时,你应该打开冲突的文件,查找以<<<<<<<开始的行。冲突部分被标记:
<<<<<<< filename
your changes
=======
code merged from repository
06、Check for Modifications(检查更新)
点击Check for Modifications,系统列表所以待更新的文件及文件夹的状态
07、Revision Graph(版本分支图)
查看文件的分支,版本结构,可以点击Revision Graph,系统以图形化形式显示版本分支
08、Rename(改名)
SVN支持文件改名,点击Rename,d出文件名称输入框,输入新的文件名称,点击确定,再把修改提交,即可完成文件改名
09、Delete(删除)
SVN支持文件删除,而且 *** 作简单,方便,选择要删除的文件,点击Delete,再把删除 *** 作提交到服务器
10、Moving(移动)
选择待移动的文件和文件夹;按住右键拖动right-drag文件(夹)到跟踪拷贝内的新地方;松开左键;在d出菜单中选择move files in Subversion to here
11、Revert(还原)
还原 *** 作,如刚才对文件做了删除 *** 作,现在把它还原回来,点击删除后,再点击提交,会出现如上的提示框,点击删除后,再点击Revert,即已撤销删除 *** 作,如果这时候点击提交,则系统d出提示框:没有文件被修改或增加,不能提交
12、Branch/Tag(分支/标记)
当需要创建分支,点击Branch/Tag,在d出的提示框中,输入分支文件名,输入日志信息,点击确定,分支创建成功,然后可查看文件的版本分支情况
13、Switch(切换)
文件创建分支后,你可以选择在主干工作,还是在分支工作,这时候你可以通过Switch来切换。
14、Merge(合并)
主干和分支的版本进行合并,在源和目的各输入文件的路径,版本号,点击确定。系统即对文件进行合并,如果存在冲突,请参考冲突解决。
15、Export(导出)
把整个工作拷贝导出到本地目录下,导出的文件将不带svn文件标志,文件及文件夹没有绿色的”√”符号标志。
16、Relocate(重新定位)
当服务器上的文件库目录已经改变,我们可以把工作拷贝重新定位,在To URL输入框中输入新的地址
17、Add to Ignore List(添加到忽略列表)
大多数项目会有一些文件(夹)不需要版本控制,如编译产生的obj, lst,等。每次送交,TortoiseSVN提示那些文件不需要控制,挺烦的。这时候可以把这些文件加入忽略列表。
18、SVN其它相关功能
客户端修改用户密码:
打开浏览器,在地址栏内输入 >
用SVN的导出(export)功能,就可以得到干净的最终版。当然了,在这个最终版上不能继续进行update、commit *** 作了。
如果你又想删除历史版本,还想在仅保留了当前版本的文件夹中继续commit、update,那很不幸,是不可能实现的。
这是通常所称的回滚 *** 作,以TortoiseSVN为例,对该文件点右键,TortoiseSVN--显示日志,在日志窗口上方选中你要恢复的那个版本,在下方右键点击该文件,选择"复原此版本做出的修改",然后再次commit。
对互联网公司而言,SVN的重要性不言而喻。本文选用CollabNet Subversion Edge作为SVN服务端和控制台,以TortoiseSVN作为客户端部署SVN系统。CollabNet Subversion Edge控制台功能十分强大,便于维护管理,且能采用LDAP认证方式,适合部署了内部域控的组织。而TortoiseSVN客户端的功能和性能有口皆碑,无需赘述。
点击“OK”,在跳出的登陆框里输入用户名“admin”及其密码,按回车键登录。
可以发现成功登录版本库。
输入版本库url和检出目录,点击“OK”,在d出的认证框里输入域账号及其密码,点击“OK”,开始检出版本库。
检出成功。
可以发现目标版本库被成功检出到目标文件夹里。
可以看到一些LDAP用户登陆过系统管理后台,点击角色列表,可以看到系统已经定义好的角色:
点击角色名可以将该角色授予用户:
![]DFNIMpng]( >
以上就是关于如何使用SVN进行版本控制全部的内容,包括:如何使用SVN进行版本控制、svn 服务器代码目录变更,再次检出以后,历史版本没有了,有何办法吗、svn查看版本历史时Item is not readable svn:条目不可读的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)