zoukankan      html  css  js  c++  java
  • svn方法,希望可以给各位带来一点便利

    1checkout(检出) 

    如果你是客户端,想对版本进行修改控制,那么第一次你必须要从服务器端检出文件,以后的更改操作就在此文件上执行吧。 

    方法:在你要保存文件的某个文件夹中的空白地方右键鼠标。选择checkout(检出),在 URL of repository(版本库URL)中输入要链接的地址,点击确定,便下载下来最新文件,你要做的修改应该在此文件夹里执行。我们不妨先叫此文件夹为:working copy  

    *******************************************************************************

    我们先说重要的:以后做了任何更改提交你的更改前,请先点击update(更新)一下。

    ******************************************************************************* 

    2update(更新)

    右键鼠标——>update(更新) 

    注意,如果当你的“Working Copy”中有被修改的文件,或者有被删除的文件,并且还未提交这些修改时,这些文件在执行Update过程中是不会被更新的。 

    重点:如果服务器端版本没更新的话,对你更新是不会有影响的,会更新成功;如果服务器版本更改,但是恰好修改的内容和你修改的内容不在同一个文件内,比如你改的是a里的内容,而服务器改了b中的内容,则也没有影响;

    但若是都修改了a中的内容,则出现问题了,会提示你有冲突,只能点“确定”了,你会看到 working copy 文件夹上多了个黄色感叹号,打开 working copy 会发现里面多了几个文件(做了删除操作时不会自动多出文件),这时你不要慌,在有黄色感叹号的文件上(注意不是 working copy 上右键鼠标)——>TortoiseSVN——>Edit conflicts(编辑冲突)##此时,会弹出一个对话框包含三部分,左上角第一个是服务器端版本库对应的内容,右上角第二个是你修改的内容,下边第三个是两者合并的内容,如果你不处理的话默认为两者合并##——>如果确定要用你修改的内容的话,在右上角第二个框中的红色部分右键鼠标——>Use this whole file(使用整个文件)——>关闭对话框,选择save(保存)——> 然后回到 working copy 右键鼠标——>TortoiseSVN——>Rosolved(已解决的),点确定 ##你会发现原来自动添加的那些文件没了###——>Commit(提交)就ok

     

    3、修改 

    当你修改了某个文件内的内容,如果你提交时服务器端版本没有更新,则你可以直接提交成功。

    如果服务器端版本已被他人更新,但是恰好修改的内容和你修改的内容不在同一个文件内,比如你改的是a里的内容,而服务器改了b中的内容,则也没有影响;但若是都修改了a中的内容,则会提示你:版本过时需要先更新,但一更新,又出现上面2中特殊颜色部分的问题了,解决方法相同,不再重述。(这就是我们为什么建议先更新一下的原因)

     

    4、放弃修改

     当你添加、修改、删除文件后,决定放弃修改,

     你可以单击右键,TortoiseSVN->Revert

     本地的“Working Copy”中的文件和目录会恢复到你修改前的状态。

     

     

    5、删除 

    如果你在working copy 文件中做删除文件操作,要删除某个文件或者文件夹,建议用svn自带的删除,方法是:在要删除的文件上右键鼠标-->TortoiseSVN——>Delete(删除)。这样你的删除操作才会被保存到日志中,##若要用 windows 自带的删除,这种删除 working copy 上不会出现红色感叹号的更改标志##。然后若要提交更改,右键working copy ——> commit(提交),这时会出现两种情况:

     

    a、服务器端的版本还是你下载时的版本,没有经过别人更新,这时,你可以直接按提示步骤提交成功,提示你版本已经更新到第几版。

     

    b、服务器端的版本已由别人更新过,更新你的 working copy ,在 working copy 上右键鼠标——>update(更新),这时它应该会提示你有冲突,你点“确定”, working copy上出现一个黄色的警示符号。这时请在 working copy 上再右键鼠标——>TortoiseSVN——>Resolve(已解决的)——>确定。就取消了冲突。按理说我们为什么不在update更新前先Resolve (已解决的)来取消冲突呢,这种情况我也试过了,它会说你没更改怎么的,所以你必须经过这么一步。取消冲突后再 commit (提交),就没问题了。 

     

    6、添加 

    这个比较简单。当你在 working copy 文件夹中添加了新的文件时,如果你直接提交,在弹出的提交框中会有你添加的文件,但是复选框没选中,你要自己选中,然后确定即可。

    还有一种方法是:在 working copy 内新添加的文件上右键鼠标——>TortoiseSVN——>Add(加入),便会在新添加的文件上出现一个蓝色(+)加号,表示是新添加的,此时直接提交就ok了。第二种方法也可以直接在working copy 文件夹上右键鼠标——>TortoiseSVN——>添加,则新添加的文件都会被加上蓝色 + 号了,效果是一样的。建议用后两种方法。

    -------- 进阶 ---------------------------------------------------------

    7、分支branches和tags

    项目开发初期,还没发布过版本或者只有一个人开发的情况下,代码只保存一个版本就可以了,但是对于产品级的软件,可能会根据客户定制不同内容,也可能只会维护相应已销售版本的bug,这个时候只用一个版本则会在开发和发布版本直接产生切换成本,所以有必要学习下svn使用中的进阶功能,分支和版本控制。一般不成文的规定是,当前主开发版本代码放在主干(trunk)文件夹中,已发布的稳定版本放在标记(tags)文件夹中,对于tags版本中的bug修复或客户功能定制复制到branches文件夹中修改,修改完发布后的确认稳定版本再复制到tags版本中记录。

    我就不重复造轮子了,找了几篇文章要么没图要么只能作者自己看懂,发现下面这篇最实用(有图有真相):SVN分支/主干Merge操作小记:https://www.cnblogs.com/xdouby/p/7237005.html  (这篇讲的最详细明白)

     

  • 相关阅读:
    Win32.Dfcsvc.A
    清除“熊猫烧香”(Worm.WhBoy.h、尼姆亚、FuckJacks)
    个人网站如何提高网站的Google PR值
    ROSE病毒
    vc二进制数值字符相互转换
    全flash站制作剖析
    C#.NET 中的类型转换
    .net开发常用工具
    xflash里的hello world程序
    什么是XHTML
  • 原文地址:https://www.cnblogs.com/jying/p/2298044.html
Copyright © 2011-2022 走看看