浅谈AnkhSvn

不管是公司开发还是高校中的合作开发,做好版本和源代码控制始终是所有工作的前提。怎样保证团队中的每个成员能够及时的获取最新的工作进度?怎样避免团队成员在开发的时候产生修改冲突(最典型的就是两个人同时在修改同一个文件,最后提交的时候提示冲突,可能出现我们丢失掉自己所做的修改)?怎样才能使我们的开发工作提高效率(比如我们已经保存并提交了某个更改之后却发现修改有误,这种情况下我们需要撤销所作的更改)?怎样才能了解团队其他成员的工作进度(这是必要的,我们并不仅限于做好自己的本职工作)?怎样才能及时的发现并纠正代码的错误(参加过团队开发的你是否遇到过在本地版本上开发时遇到了错误,解决后需要到服务器版本上再次修改)?AnkhSvn和SoureSafe的出现在源码控制上给我们提供了解决思路。

一。AnkhSvn的使用:

1。AnkhSvn是一种对版本和源代码进行控制的工具。使用它我们可以做到随时随地的进行项目开发,摆脱了开发过程中空间的限制(当然,随时随地的条件是可以上网),同时解决了团队合作中的一个令人头疼的问题--修改冲突。以前我们用SourceSafe进行项目控制时,经常发生团队成员之间对同一段代码做了修改,而在提交时就会出错,时常出项代码的覆盖以及以及更改的丢失。同时AnkhSvn解决了我们无法查看对该解决方案所做更改(即view history)的问题,保证了代码提交的安全性,同时使我们每个人从担心代码冲突、代码覆盖的疑虑中解放出来,能够全身心投入项目开发中。

2。AnkhSvn的常用操作:

(1)建立本地的服务器版本。Subversion->Add to Subversion

此功能的作用是从源代码上获取一个服务器版本到本地上。

截图00

Subversion->Open from Subversion,然后再Url地址框中输入地址路径(注意:此处的协议头是https,它传输的安全性更高。),点击open按钮即可(第一次使用时需要制定获取服务器版本到本地的物理路径)。

截图01

(2)获取最新版本

打开解决方案后,点击右键有一个“Update to Latest Version”。

(3)提交(commit)、撤销(revert)

(4)撤销至某一个版本:右键你要撤销的文件(注意:在这里点击不同的文件的效果是不一样的,例如右键解决方案或者是类库或者是文件夹,只能在viewhistory或者viewsolutionhistory选项中撤销至你选定的版本;而如果右键某一个文件,例如。cs文件或者。aspx文件,除了上述选项,我们还可以选定任意的版本来show changes)。

(5)view history、view solution history、view project history三种浏览历史记录的方式。通过浏览历史记录我们可以了解版本信息、了解团队成员的工作情况。(注意:当点击相应的浏览历史记录的按钮时,在弹出框中有changed paths提示框,双击框中的记录可以查看具体的修改信息。)

截图02

(6)作副本

点击“视图”中的working copy explorer,然后再working copy folders中选定sln文件,点击上方的copyto图标选定一个存放副本的物理路径(注意必须是一个新的文件夹,而不能是已经存在的文件或文件夹)。

(7)Merge--版本合并。

最常用的merge方式就是以下两种:

((1))Merge a range of revisions

我的理解是可以合并一系列的不同版本,将不同版本上与本版本的不同之处进行合并。

((2))Reintegrate a branch

就是将分支版本上的修改返回到创建该分支版本的源版本,即主干版本或者其他。要使用这个方法要求这个分支版本不能再有任何本地修改,必须是一个单独的版本,不能有任何分支子版本。而且这个版本号必须高于或者等于要融合的最后的版本号。

3。常见问题解析:

(1)代码过时。通常会表现为当我们修改了某个文件的某段代码后准备提交时,当点击“commit”时提示part of your code is out of date。这说明我们在对这个文件进行修改时,同时有另外的成员在对这个页面进行修改,这时我们需要首先获取一下最新版本,如果别的成员做过的修改恰好是我们改动的部分,就会有形如“>>>>mine”和“<<<<XXXX”的错误,同时文件上可能会有一个“!”。一般“>>>>mine”下面的表示我们的代码,而“<<<<XXXX”下面的表示其他成员更改的代码。这时我们需要分析决定怎样处理这个错误,处理后要将“>>>>mine”和“<<<<XXXX”提示符删掉。

(2)修改冲突。有时候我们修改完毕以后将我们的工作提交后才获取最新版本(一般不提倡,最好的做法是提交前先获取最新版本,如果有问题处理问题),获取后开始“重新生成解决方案”出现了我们的web项目BlackJack.Web.csproj无法加载。这是由于我们做了自己的修改提交前并没有及时获取最新版本,导致代码中有重复修改的地方。这时我们需要右击BlackJack.Web.csproj有个选项是“编辑BlackJack.Web.csproj”,然后在打开的文件中搜索“mine”(目的是找到冲突地方),找出后进行分析取舍,完成后再次“重新生成解决方案”后加载web项目,这时就会出现,但因为代码中的冲突依然存在因此会有“!”提示我们,找到相关的冲突的文件处理后会发现文件前的图标变成了红色小方框,代表冲突解决我们就可以编译后提交了。

转载于:https://www.cnblogs.com/wynsdie/archive/2010/06/17/1759551.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 1 AnkhSVN 概述4 2 背景知识5 2.1 什么是 AnkSVN? 5 2.2 什么是版本库浏览器?5 2.3 什么是工作拷贝浏览器?6 2.4 什么是未提交更改视图(the Pending Changes view)7 2.4.1 什么是本地文件更改视图(Local File Changes view) 8 2.4.2 什么是问题视图(the Issues view)8 2.4.3 什么是最近修改视图?9 2.4.4 什么是冲突合并视图 10 3 开始使用 AnkhSvn10 3.1 安装 AnkhSVN 10 3.2 在 VisualStudio 中启用 AnkhSvn 10 3.3 将项目连接到 AnkhSVN 11 3.4 增加解决方案到版本库 12 3.5 浏览版本库13 3.6 增加工作拷贝到工作拷贝浏览器 14 4 版本控制操作14 4.1 签出解决方案14 4.1.1 从 Subversion 打开解决方案 15 4.1.2 从版本库浏览器中签出 15 4.2 更新你的工作拷贝16 4.3 在 Pending Changes 中执行 Subversion 操作 16 4.4 提交修改17 4.4.1 提交你的修改 17 4.4.2 签入一个新项 18 4.5 获得和释放锁18 4.5.1 锁定一个项19 4.5.2 释放锁19 4.6 修改取消20 4.7 回滚一个项到特定的版本 20 4.8 查找什么人对其中的一行进行了修改 21 4.9 分支、标记和合并22 4.9.1 创建一个分支或者标记 22 4.9.2 切换到分支23 4.9.3 合并更改24 4.10 比较不同25 4.11 查看版本历史27 4.12 创建和应用补丁(patches) 28 4.12.1 创建一个补丁 28 4.12.2 应用补丁29 4.13 将项增加到更改列表中 29 4.14 增加一个 Subversion 属性 30 4.15 清理工作拷贝31 4.16 集成 issue tracker32 4.16.1 连接到 issue tracker32 4.16.2 将问题关联到一个 Commit 32 4.16.3 当提交提交时更新问题的状态 33 4.16.4 在查看历史时打开一个问题 33 4.17 配置和外部工具34 附件 1、AnkhSVN 图标样例表 35 附件 2、Overview of CollabNet Merge Client 36 附件 3、Creating and Applying Patches 47 附件 4、Changelists 50 1 AnkhSVN 概述 AnkhSVN 为 VisualStudio 提供的一个 Subversion 源码控制插件。通过该 IDE 工具,你 可以在 VisualStudio 中直接进行大部分版本控制操作。 你可以在 AnkhSVN project on .下载 AnkhSvn 的 Release 版本以及日常开 发版。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值