本文向大家介绍一下SVN简易使用手册,SVN现在用处越来越广,所以大家有必要知道SVN是什么以及如何使用,本文就给大家讲解一下。
本节接着上节简单介绍一下SVN简易使用手册,在学习SVN的过程中这些是必须掌握的内容,在这里和大家分享一下,希望通过本节的学习大家能够掌握SVN的使用,让我们一起来学习SVN简易使用手册吧。
另一种检查修改的方式是svndiff命令,你可以通过不带参数的svndiff精确的找出你所做的修改,这会输出统一区别格式:[3]
$svndiffIndex:bar.c===================================================================---bar.c(revision3)+++bar.c(workingcopy)@@-1,7+1,12@@+#include<sys/types.h>+#include<sys/stat.h>+#include<unistd.h>++#include<stdio.h>intmain(void){-printf("Sixty-fourslicesofAmericanCheese...\n");+printf("Sixty-fiveslicesofAmericanCheese...\n");return0;}Index:README===================================================================---README(revision3)+++README(workingcopy)@@-193,3+193,4@@+Notetoself:pickuplaundry.Index:stuff/fish.c===================================================================---stuff/fish.c(revision1)+++stuff/fish.c(workingcopy)-Welcometothefileknownas'fish'.-Informationonfishwillbeheresoon.Index:stuff/things/bloo.h===================================================================---stuff/things/bloo.h(revision8)+++stuff/things/bloo.h(workingcopy)+Hereisanewfiletodescribe+thingsaboutbloo.
svndiff命令通过比较你的文件和.svn的“原始”文件来输出信息,预定要增加的文件会显示所有增加的文本,要删除的文件会显示所有要删除的文本。
输出的格式为统一区别格式(unifieddiffformat),删除的行前面加一个-,添加的行前面有一个+,svndiff命令也打印文件名和打补丁需要的信息,所以你可以通过重定向一个区别文件来生成“补丁”:$svndiff>patchfile
举个例子,你可以把补丁文件发送邮件到其他开发者,在提交之前审核和测试。svnrevert假设你通过上面的diff输出发现你不小心用编辑器在README中输入了一些字符。
这是使用svnrevert的好机会。
$svnrevertREADMEReverted'README'
Subversion把文件恢复到未修改的状态,叫做.svn目录的“原始”拷贝,应该知道svnrevert可以恢复任何预定要做的操作,举个例子,你不再想添加一个文件:
$svnstatusfoo?foo$svnaddfooAfoo$svnrevertfooReverted'foo'$svnstatusfoo?foo
注意:
SVN简易使用手册中有些需要注意的问题。svnrevertITEM的效果与删除ITEM然后执行svnupdate-rBASEITEM完全一样,但是,如果你使用svnrevert它不必通知版本库就可以恢复文件。
或许你不小心删除了一个文件:$svnstatusREADMEREADME$svndeleteREADMEDREADME$svnrevertREADMEReverted'README'$svnstatusREADMEREADME
看!没有网络!
这三个命令(svnstatus、svndiff和svnrevert)都可以在没有网络的情况下工作,这让你在没有网络连接时的管理修改过程更加简单,像在飞机上旅行,乘坐火车往返或是在海滩上奋力工作时。
Subversion通过在.svn管理区域使用原始的版本缓存来做到这一点,这使得恢复本地版本而不必访问网络,这个缓存(叫做“text-base”)也允许Subversion可以根据原始版本生成一个压缩的增量(“区别”)提交—即使你有个非常快的网络,有这样一个缓存有极大的好处,非常的快,只向服务器提交修改的部分,这一点乍一看好像并不重要,但当你要提交一个400M大小的文件的修改时,你就会明白!
解决冲突(合并别人的修改)
我们学习SVN简易使用手册时可以使用svnstatus-u来预测冲突,当你运行svnupdate一些有趣的事情发生了:
$svnupdateUINSTALLGREADMECbar.cUpdatedtorevision46.
U和G没必要关心,文件干净的接受了版本库的变化,文件标示为U表明本地没有修改,文件已经根据版本库更新。G标示合并,标示本地已经修改过,与版本库没有重迭的地方,已经合并。但是C表示冲突,说明服务器上的改动同你的改动冲突了,你需要自己手工去解决。
当冲突发生了,有三件事可以帮助你注意到这种情况和解决问题:
Subversion打印C标记,并且标记这个文件已冲突。
如果Subversion认为这个文件是可合并的,它会置入冲突标记—特殊的横线分开冲突的“两面”—在文件里可视化的描述重叠的部分(Subversion使用svn:mime-type属性来决定一个文件是否可以使用上下文的,以行为基础合并,更多信息可以看“svn:mime-type”一节)。
对于每一个冲突的文件,Subversion放置三个额外的未版本化文件到你的工作拷贝:filename.mine
你更新前的文件,没有冲突标志,只是你最新更改的内容。(如果Subversion认为这个文件不可以合并,.mine文件不会创建,因为它和工作文件相同。)
filename.rOLDREV
这是你的做更新操作以前的BASE版本文件,就是你在上次更新之后未作更改的版本。
filename.rNEWREV
这是你的Subversion客户端从服务器刚刚收到的版本,这个文件对应版本库的HEAD版本。
这里OLDREV是你的.svn目录中的修订版本号,NEWREV是版本库中HEAD的版本号。
举一个例子,Sally修改了sandwich.txt,Harry刚刚改变了他的本地拷贝中的这个文件并且提交到服务器,Sally在提交之前更新它的工作拷贝得到了冲突:
$svnupdateCsandwich.txtUpdatedtorevision2.$ls-1sandwich.txtsandwich.txt.minesandwich.txt.r1sandwich.txt.r2
在这种情况下,Subversion不会允许你提交sandwich.txt,直到你的三个临时文件被删掉。
$svncommit--message"Addafewmorethings"svn:Commitfailed(detailsfollow):svn:Abortingcommit:'/home/sally/svn-work/sandwich.txt'remainsinconflict
如果你遇到冲突,三件事你可以选择:
“手动”合并冲突文本(检查和修改文件中的冲突标志)。
用某一个临时文件覆盖你的工作文件。运行svnrevert<filename>来放弃所有的修改。一旦你解决了冲突,你需要通过命令svnresolved让Subversion知道,这样就会删除三个临时文件,Subversion就不会认为这个文件是在冲突状态了。[4]$svnresolvedsandwich.txtResolvedconflictedstateof'sandwich.txt'。请关注有关SVN简易使用手册下节介绍。
相关推荐
资源库SVN简易使用手册
svn中文使用手册 svn中文使用手册 svn中文使用手册
svn操作手册svn操作手册svn操作手册svn操作手册svn操作手册
Windows操作系统中SVN使用手册详解
SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN资料 svn配置SVN svn SVN中文手册 SVN...
SVN命令使用手册.doc SVN命令使用手册.doc SVN命令使用手册.doc
svn简易操作手,服务器已经完成了SVN的安装,为了更容易的使用SVN,第一步,我们需要在你的本机安装SVN的客户端Tortoise SVN。Tortoise SVN 可以运行在 Windows 2000 SP2,Windows XP 或更高的版本。公司目前使用的...
SVN简单使用手册SVN简单使用手册SVN简单使用手册SVN简单使用手册SVN简单使用手册SVN简单使用手册
SVN客户端使用手册PPT
文档中有详细的svn下载、安装和使用的内容,本文档是个人手工整理。
SVN用户使用手册,讲述SVN软件的基本用法的帮助文档 SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现...
1、安装SVN服务器端. 2、安装SVN客户端TortoiseSVN. 3、配置Apache.
SVN使用手册大全,让你知道如何使用SVN
SVN版本冲突解决详解
SVN用户操作手册 SVN用户操作手册 SVN用户操作手册
svn安装操作手册 svn插件安装使用 svn客户端和服务端安装使用
SVN安装使用手册,详细的介绍,图文并存。
svn客户端使用手册.doc
SVN ADMIN 使用手册
SVN 命令使用手册.pdf pdf格式 汇集命令与一手