svn冲突解决课件.pptVIP

  • 6
  • 0
  • 约 25页
  • 2017-01-02 发布于浙江
  • 举报
步骤一:创建及初始化版本库 F盘建立版本库:test_repository 将两个目录src和icon导入版本库 步骤一:创建及初始化版本库 步骤二:建立工作副本 步骤二:建立工作副本 此时两工作副本的内容都与版本库中的相同,文件夹下没有子文件。如图: 步骤三:创造冲突 设两个工作副本的用户分别为甲和乙,现甲和乙都在自己的工作副本中的src文件夹下增加文件:readme.txt 步骤三:创造冲突 步骤三:创造冲突 步骤三:创造冲突 步骤四:冲突解决 此种情况中,同名文件中是两个不同用户各自的文件, 解决方法是:第二个提交的用户修改重名的文件名,再update就没有冲突了。 步骤四:冲突解决 Update之后获取了版本库中的文件:readme.txt,此为甲上传的文件。 且之前冲突时出现的一些文件消失了。 二类冲突:两个用户对同一个文件做了不同的修改 现甲乙都对工程中的文件:document.txt进行修改(不同的修改) 甲先将自己的修改提交到版本库。(这个没问题) 乙要提交自己的修改之前先update(规范做法)出现如下图的冲突提示:“一个或多个文件处在冲突状态”. 点击show log可以看到哪些文件处在冲突状态:图中可以看到文件”document.txt“处在冲突状态。 双击该文件,可以看到版本库中该文件的状态。左边是Revision 4的状态,右边是Revision 5 的状态。 这时乙的工作空间如下: 左边为版本库中的版本内容,右边为即将提交的内容。 通过协商后,确定最后的文件内容,并保存。 总结 为避免上述冲突引起的错误,程序员应做到上传自己修改之前先update,如果本地文件和版本库中的文件有冲突,svn会有提示信息。程序员可以根据警告修改自己的文件,这样上传后才不会出现意想不到的结果。 * 一类冲突:两个用户先后在同一目录下提交命名相同的文件 解决:乙工作目录下的文件重命名,然后重新update,再上传自己的文件。 冲突提示:一个或多个文件处在冲突状态 解决:后提交的用户更改文件名。 版本库中有文件”文档.doc” 乙本地目录中有文件“文档.doc”. 乙update后出现冲突 导入成功 通过checkout命令, 建立两个工作副本: 甲将其创建的readme.txt上传到版本库。 之后,乙也想将他的readme.txt文件上传到版本库。 上传之前乙先update。 此时出现冲突的提示:一个或多个文件处在冲突状态。 此时乙工作目录下的文件如下:注意黄色三角形表示该文件与版本库中的文件发生冲突。 乙再上传自己的文件:readme2.txt就可以了。 Conflict解决流程 Resolved … edit conflicts commit 保存 冲突 Revert Resolved … 保留版本库中的版本 用我的版本覆盖版本库中版本 命令:resolved 这时乙再更新一遍就不会出现冲突提示了。此时乙可以将该文件提交进版本库。 以后当甲update时候,提出的document.txt文件就是经过两个人协商生成的文件,而不会出现乙把甲的文件覆盖的情况。 编辑( Edit conflicts )冲突文件 左边为版本库中文件,右边为本地工作文件 选中你要编辑的行,右键选择操作操作的结果在下面的窗口显示 编辑( Edit conflicts )冲突文件 选中产生冲突的文件,右键“Edit conflicts”,对冲突进行手工编辑 手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved filename来解除冲突,最后提交。 编辑( Edit conflicts )冲突文件 edit结束,编辑结果显示在下面的窗口 保存edit结果 “Resolved”冲突文件 选中编辑以后的冲突文件,右键选择“Resolved…” 提交编辑结果 点击OK结束。 将文件commit提交到版本库 *

文档评论(0)

1亿VIP精品文档

相关文档