zoukankan      html  css  js  c++  java
  • svn客户端的使用

    1 SVN概述

    SVN客户端应用集成在右键菜单中;

    svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择;

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

    2 SVN chexkout

    输入服务器地址,将SVN服务器上的仓库检出到本地

    3 SVN增加/提交add

    有多个文件要交到服务器,可执行“SVN增加”操作,先将文件加到“加入列表/变更列表”;再点击“SVN提交”选择列表中文件一次性提交,要填写提交信息。

    4 SVN修改commit

    若对仓库中文件修改,文件图标会有“红色感叹号”,提交更新后变“绿色勾”。

    5 SVN删除delete

    删除文件,将删除操作提交到服务器。

    6 SVN仓库浏览Repo Broswer

    在仓库中右键选仓库浏览,即可看到仓库中的全部内容,可管理文件

    7 SVN比较差异Check for modifications

    查看文件修改前后的不同,列出每一条修改记录,双击可看到修改的每一行详情
    当他人提交了哪些文件的改动,也可通过此项来进行查询。

    8 SVN显示日志show log

    查看文件的操作日志,包括版本,操作,作者,时间

    9 SVN修改名称rename

    没什么特别的先修改,再提交

    10 SVN冲突

    冲突产生于两人都修改文件的同一部分。

    假设A、B两个用户都在版本号为100的时候,更新了k.txt这个文件,A用户在修改完成之后提交k.txt到服务器,这个时候提交成功,这个时候k.txt文件的版本号已经变成101了。同时B用户在版本号为100的k.txt文件上作修改,修改完成之后提交到服务器时,由于不是在当前最新的101版本上作的修改,所以导致提交失败。

    冲突发生时,SVN会在当前工作目录中保存所有的目标文件版本[上次更新版本、当前获取的版本(即别人提交的版本)、自己更新的版本、目标文件]。假设文件名是k.txt,对应的文件名分别是:
    *k.txt.r101

    *k.txt.r102

    *k.txt.mine

    *k.txt。

    同时在目标文件中标记来自不同用户的更改。

    11 SVN解决冲突

    解决冲突有三种选择:

    A、放弃自己的更新,使用svn revert(回退),然后提交。在这种方式下不需要使用svn resolved(解决)

    B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。

    C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved filename来解除冲突,最后提交。

    解决步骤如下:

    1、 在当前目录下执行“update”(更新)操作

    2、 在冲突的文件上(选中文件--右键菜单—TortoiseSVN—Edit conflicts(解决冲突)),出现如下窗口

    Theirs窗口为服务器上当前最新版本

    Mine窗口为本地修改后的版本

    Merged窗口为合并后的文件内容显示

    3、 如果要使用服务器版本,在Theirs窗口选中差异内容,右键,选择Use this text block(使用这段文本块)。

    同理如果要使用本地版本,在协商后,在Mine窗口右键,选择Use this text block(使用这段文本块)。

    4、 修改完成后,保存k.txt文件内容。

    5、 在B用户的冲突目录下,选中文件--右键菜单—TortoiseSVN—Resolved(解决)。会列出冲突的文件列表,如果确认已经解决,点OK。

    6、 冲突解决

    7、提交解决冲突后的文件。

    tip:如何降低冲突解决的复杂度:

    1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。

    2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘

    3、养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。

    12 SVN锁定/解除锁定 get lock/release lock

    不想别人修改某个文件时,就可以“获取锁定”,这样可以保证你对这个文件有修改权别人没有,“解除锁定”后别人才可以修改并提交。

    13 SVN撤销更改/回退(Revert)

    在修改了某些文件后(文件未上传到配置库),需要返回到修改前的状态,则选中文件夹右键选择“Tortoise SVN”的“Revert...”项进行撤销,本地硬盘上的文件将恢复到修改前的内容,修改的内容将被删除。

  • 相关阅读:
    转载集合
    TYVJ P1053 字符串的展开 Label:字符 水
    划分数系列问题
    关于inf的问题
    TYVJ P1031 热浪 Label:dijkstra 最短路
    TYVJ P1032 零用钱 Label:贪心
    如何简单形象又有趣地讲解神经网络是什么?知乎
    CString
    利用afxDump来调试自己的程序
    mfc 调试 弹消息
  • 原文地址:https://www.cnblogs.com/xuanwotianming153/p/7077042.html
Copyright © 2011-2022 走看看