`
zht1933
  • 浏览: 223515 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

svn版本控制器——使用的基本操作

阅读更多

svn使用的基本操作

SVN基本操作之svn checkout
作为svn的用户,拿到一个svn地址,我们首先做的一个事情就是svn checkout,将svn上的关联到本地的一个文件夹中。这个文件夹最好是空的文件夹,或者确保没有和svn上相同名称的路径,当然这也说明这个操作是个连线操作。我们一般在执行checkout的时候只要给出svn的URL和本地的路径两个内容就可以了。这样svn上最新的数据会被传送到这个文件夹,目录结构会自动建好,svn上的文件会自动出现在对应的文件夹中。当然如果你愿意也可以选择一个旧的版本,或者只包含一层目录或者只是这个文件夹中的文件。或许你发现了,每一个文件夹中比服务器上的内容多了个.svn文件夹,这个文件夹中存放着文件夹的属性,这个文件夹中的每个文件的属性、版本还有对应版本的一个副本。

SVN基本操作之svn update
这个操作就是将本地的的数据更新到svn上的某个版本,默认的操作是更新到最新版本,这个操作也是个连线操作。在这个过程中如果有人删除了文件,它会你机器上的文件删除,如果别人改了某个文件,会将这个文件更新。如果你修改了某个文件,别人删除了它,则这个文件不会被删除,只会和svn没关系了。如果你修改了某个文件,而这个文件别人也修改了,在更新的过程中就会试图自动将你的修改合并,如果成功,他的内容就是你修改的和别人修改的内容的并集,如果失败,svn就会将这个文件标记为冲突。冲突的问题我们放在下个说。

SVN基本操作之svn resolve
使用svn意味着你已经走在了工作在编辑和合并的道路上,那么冲突的时候svn做了什么,出现了冲突怎么解决?
在标记为冲突的过程中,如果是文本文件,如cpp和h文件,svn会修改它让他不能进行编译,并产生一个theirs和mime,分别包含svn服务器上的和我自己原来的版本。
如果是二进制文件,svn不会修改它,而会在目录中产生一个r??和r??这两个r??一个是你update之前的svn基础版本,就是你上次执行update的版本,一个是svn上的当前update下来的版本。
你可以选择直接使用theirs或者使用mime或者退回到上一个update版本,或者将两个文件放在一起手工合并作为解决的方法。
这个操作是离线操作。

SVN基本操作之svn commit
svn 的commit操作就是将修改从工作拷贝发送到版本库并将版本标记为新的版本,这个过程中如果有人已经对这个版本进行了操作,也就是你的本地基础版本和服务器不同,将会强制你执行一个update操作,这个操作是个连线操作。commit的过程仅仅是将你本地的一些修改提交到svn中让svn上的和你的一致,在提交之前必须已经解决了需要提交文件已有的冲突才行。

SVN基本操作之svn add
如果一个文件不受svn管理,你需要把它添加到svn中,这个操作是个离线操作,仅仅是把这个文件标记为需要添加,真正的添加到svn存储的操作将在下一次commit时执行。这个过程中需要注意不要把一些不必要的文件比如编译的临时文件添加到svn。

SVN基本操作之svn import
当然你可以将一些文件直接添加到svn而不想修改这些文件的svn管理状态,可以选择将它们导入到svn。注意如果将一个文件导入,则给出的url就是它添加到svn的最终文件名,如果将一个文件夹导入,则会将根据目录树所有的子文件和文件夹放到对应的url的对应目录树中,根文件夹不会被添加。
这个操作是连线操作。

SVN基本操作之svn cleanup
这个操作清理整个所选择的文件夹及其子文件夹,但是它不是清理垃圾文件什么的,这肯定不是svn的工作。它也不会把冲突自动解决,如果能自动解决,在更新的时候为什么不做。如果你在某个svn操作时强制中断了,比如svn的操作程序停止相应或者以外终止,就有可能导致文件夹处于锁定状态,这时需要清理。如果你的文件夹中的很多文件时间戳发生了变化,也最好执行以下cleanup这样可以加速svn操作的执行。
这个操作是离线操作。

SVN基本操作之svn delete
既然有方法添加文件,就一定有方法删除,虽然你看到的效果是文件直接被删除了,但是实际上和添加一样,这个操作是个离线操作,操作的结果将被标记,下次commit时服务器上的文件才会被删除。

SVN基本操作之svn revert
如果你的修改出现了问题,或者添加或者删除了错误的文件,等等想还原操作,在commit之前可以执行revert操作,退回某步操作,这样这些修改都会被还原到基础版本状态。这个操作不会和svn服务器有关系,不会连接服务器也不会更新文件,只是简简单单的回复到基础版本。
这个操作是个离线操作。

SVN基本操作之svn diff
这个操作就是比较你的工作版本和某个svn版本的区别,当然默认是你的基础版本,因为你的工作版本就是从基础版本修改过来的么。
在和基础版本比较时是个离线操作,和历史版本比较时是连线操作。

SVN基本操作之svn export
这个操作可以将一个已经在svn管理下的文件夹中的所有工作版本导出到一个文件夹中,或者直接从svn服务器上将一个版本导出到一个文件夹中。导出的文件夹不再在svn的管理控制下,也不会有.svn目录,当然也不会包含不在svn管理下的文件。
在导出工作版本时是个离线操作,从svn直接导出时是连线操作。

SVN基本操作之svn copy
操作的名字显而易见,就是复制操作,在svn上复制文件有什么好处呢,为什么不直接复制文件再添加到svn呢。这个问题我也考虑过,svn copy可以将文件在复制之前的历史保留下来,这应该是最大的好处了。
这个操作是离线操作,需要提交才起效。

SVN基本操作之svn move
和copy一样,历史的留存也是和复制后删除源文件这个方式最大的区别,并且它也是离线操作,需要提交才起效。

SVN基本操作之svn lock
如果你想独占修改这个文件,可以把文件锁定,这样就可以锁定这个文件,这样别人必须等待你提交了修改或者释放了锁才能提交他们的修改。这个操作不会对别人的 svn本地存储有什么影响,而只是无法进行数据提交。如果某个文件有svn:needs-lock这样的标志时,文件会被设置为只读,提示你需要获得锁来修改。当然你也可以把文件的属性修改直接修改,这个只是防君子不防小人的。
这个操作时连线操作。

SVN基本操作之svn unlock
虽然是unlock但是实际上这个我们平常不会将他用来和lock配对,因为commit操作时,svn默认自动将锁释放了。这个操作的用处是在你得到锁了之后,又不想锁定这个文件时执行的。还有就是如果别人锁定了这个文件,想强制把这个文件解锁,就可以强制将这个文件解锁。
这个操作时连线操作。

分享到:
评论

相关推荐

    svn插件下载 MyEclipse svn插件 svn版本管理器

    【标题】"svn插件下载 MyEclipse svn插件 svn版本管理器"涉及的主要知识点是关于版本控制系统Subversion(简称svn)以及它在MyEclipse集成开发环境中的应用。 Subversion是一个开源的版本控制系统,用于跟踪文件和...

    SVN使用指南——Windows环境版

    **SVN(Subversion)** 是一款开源的...通过学习和熟练掌握SVN的基本操作及复杂应用,能显著提升软件开发的效率和质量。这份PPT详细介绍了Windows环境下SVN的使用,无论你是初学者还是有经验的开发者,都能从中受益。

    SVN打基线常用命令使用介绍

    ### SVN打基线常用命令使用介绍 ...综上所述,通过使用SVN的这些命令,我们可以有效地进行打基线操作,从而更好地管理和追踪项目的各个版本。无论是创建标签还是分支,都能帮助我们确保项目的稳定性和可追溯性。

    SVN使用指南,win版

    ### SVN使用指南——...通过以上详细介绍,我们不仅可以了解到SVN的基本概念和使用方法,还能掌握在Windows环境下如何高效地利用SVN进行版本控制和协作开发。这对于提升开发团队的工作效率和代码质量具有重要意义。

    SVN客户端最新版本

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,记录每次更改,以便于回滚错误,查看历史版本,并合并不同的开发分支。SVN客户端是与SVN服务器交互的...

    南邮软件工程实验——SVN管理

    【实验报告】 软件工程实验——SVN管理 一、实验目的 本次实验旨在让学生深入了解和掌握...通过本次实验,学生将对SVN有深入的理解,并能熟练运用SVN进行版本控制和团队协作,为今后的软件开发工作打下坚实的基础。

    svn 版本 1.14.5 版本

    你提到的 SVN 1.14.5 版本包括了两个不同架构的版本——32位和64位,以及对应的中文语言包,这意味着无论用户的操作系统环境如何,都可以方便地使用本地化界面来操作svn。 TortoiseSVN 是一个与Windows Explorer...

    SVN客户端最新版本绝对好用

    3. **基本操作**: - **检出(Check out)**:将远程仓库中的项目下载到本地工作副本。 - **提交(Commit)**:将本地修改同步到服务器。 - **更新(Update)**:获取服务器上的最新更改并合并到本地。 - **解决冲突...

    SVN安装包(包括服务端客户端)——常用工具

    SVN客户端是开发者实际操作版本库的工具,用于执行常见的版本控制操作,如Checkout(检出)、Commit(提交)、Update(更新)、Merge(合并)等。常见的SVN客户端有TortoiseSVN(提供Windows资源管理器集成)、...

    pb源码管理SVN使用手册

    3. **TortoiseSVN**:TortoiseSVN是一款图形化的SVN客户端,集成在Windows资源管理器中,提供直观的右键菜单操作,方便用户进行SVN的基本操作,如Checkout、Commit、Update等。 4. **Eclipse Subclipse** 和 **...

    SVN_1.9.1+汉化+VisualSVN

    1. TortoiseSVN-1.9.1.26747-x64-svn-1.9.1.msi:TortoiseSVN是一款在Windows资源管理器中集成的SVN客户端,它提供了图形化的界面,使得文件的版本控制操作更加直观。这里的文件是64位版本的1.9.1版,版本号为26747...

    纯java操作svn--svnkit API

    ### 纯Java操作SVN——SVNKit API详解 #### 概述 在软件开发过程中,版本控制系统如Subversion(SVN)是必不可少的工具之一。为了更好地集成SVN功能到Java应用中,SVNKit提供了一套全面且强大的API。本文将详细...

    SVN客户端使用说明

    Subversion(简称SVN)是一种流行且广泛使用的开源版本控制系统,被视为CVS的升级替代品。本文将详细介绍SVN客户端的使用,包括基本概念、管理工具以及客户端工具的使用。 1. **SVN的基本概念** - **版本控制**:...

    svn 使用说明书 中英

    许多IDE(如Eclipse, IntelliJ IDEA)和代码编辑器都支持svn插件,使得版本控制操作更加便捷。 七、备份与恢复 svn版本库可以通过导出(svn export)和导入(svn import)操作进行备份和恢复,也可以利用svnadmin...

    SVN常用操作----查看代码提交以及改动记录方法

    **SVN常用操作——查看代码提交及改动记录方法** 在软件开发过程中,版本控制系统如Subversion(SVN)是团队协作的重要工具。它允许开发者跟踪和管理代码的修改历史,以便于协同工作、回溯错误并理解代码的发展过程...

    svn 删除工具 删除关联.svn

    在IT行业中,版本控制系统是开发团队协作的重要工具,而Subversion(简称svn)就是其中一款广泛应用的开源版本控制系统。它允许开发者对项目源代码进行版本管理,跟踪每次修改,便于团队成员之间的协作和代码同步。...

    SVN插件工具附教程

    SVN支持程序员将本地副本更新到服务器端的最新版本,也支持将本地副本的最新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而是作为一个新的版本被保存下来——SVN甚至支持将本地工作副本恢复为服务器端...

    svn插件 有服务端和客户端

    5. SVN的基本操作: - 添加文件/目录:将新创建的文件或目录纳入版本控制。 - 提交:将本地的修改保存到仓库,更新版本号。 - 更新:获取仓库中的最新版本,同步到本地。 - 检出(Checkout):获取仓库中的项目...

    SVN(svn服务端与svn客户端)

    本压缩包提供了SVN服务端——VisualSVN-Server,以及客户端工具——TortoiseSVN-Client,还有相关的说明文档,旨在帮助用户轻松上手并高效利用SVN进行项目管理和版本控制。 1. **VisualSVN-Server**:这是一款基于...

Global site tag (gtag.js) - Google Analytics