svn的使用方法

SVN的使用方法


注:使用之前请务必先被项目负责人授权通过后再使用


一、首次使用:
1、首先,注册SVN账号;然后登入阿里云codebaosvn之后再点击头像,然后点开项目,随后复制SVN路径。
     注意:由于现在没有使用taobaosvn,使用的是自己搭建的svn服务器。 账号密码以及项目路径由组长配置并给到各个开发人员。
2、在本地新建项目文件夹, 文件夹的名字最好是英文,在文件夹里面点击鼠标右键,点击“SVN Checkout“,弹出  
     Checkout弹窗。
3、在Checkout弹窗中,输入svn路径和账号密码,点击ok,等待一会,代码就从服务器上面checkout了。


注意: 项目下载完之后,本地的项目代码即是服务器的项目代码。这时请务必熟悉项目代码,熟悉项目,便于交接与之后的任务。


二、修改代码之后的用法:
1、每次在本地修改代码程序以后,在提交程序之前,要先update,最好是在总目录右键(也就是项目根目录),因
     为有可能组内其他成员在另外的文件夹下提交了代码。
2、接着在commit。选中你修改的文件、增加的文件、删除的文件, 然后在上面写上备注,比如:修改了xx.js中的xx  
   ,完成了xx需求,删除xxx文件等等,这样另外的组员可以看到记录,以便bug排查,最后点击提交。
3、当自己update之后,如果出现某个文件,或者好 几个文件上面显示黄色三角感叹号,说明本地文件与服务器文件
     有冲突。这时候 需要将冲突解决了之后才能提交代码,否则有可能修改团队中其他成员所做的功能。


解决冲突的方法:
1、当你修改了本地文件中的代码,update之后产生冲突,在项目的冲突文件的目录下会多出3个文件,此时可以在项
     目的目录下选中冲突的文件(一般有黄色感 叹号的标记), 右击选择 TortoiseSVN下的Edit conflict,随后会弹出
     一个页面。左边框标题的后缀名.theirs表示该方框中的代码是服务器代码,右边框标题的后缀名.mine表示该方框
     中的代码是你在本地修改之后的代码,下面 方框的标题后缀名.merge表示服务器版本和你本地版本合并之后的代
     码。
2、.theirs方框和.mine方框中红色部分代表代码冲突的部分。当你在不确定自己修改的时候是否有修改团队成员所做
      的功能,此时你应该和该队员进行沟通,然后再修改代码。
3、当冲突都解决之后,点击左上角的save,点击弹出框中的mark as resolve,此时目录下多出的文件就会消失。
4、在将文件标记为resolve的时候或者在update的时候,出现弹窗提示:previous operation has not finished:
      cleanup,此时如果有弹出框,框中有BreakLock,则勾选此选项,点击ok。如果没有的话,则在空白地方点击右
      键,选择TortoiseSVN,点击Clean up...选项。
5、 当发现修改代码也不能解决冲突的话,这时可以选择revert(在项目的根目录下,在空白地方右击,选择 
      TortoiseSVN下的revert选项操作),revert之后本地代码和服务器上的代码就一致了,只不过你在本地修改的代
      码并有没有保存,在revert之后需要你重新编写。



三、容易犯错的问题与解决方法
1、有时候在编写代码实现某个需求的时候,有两种可能的方案,由于一个编辑器上不可能同时编写两种方案,容易犯错的就是先写一个,验证一下;然后删掉再编写另外一个方案,再验证一下。验证完毕之后发现第一种方案比第二种方案要好,你又要改回来。这时很有可能就直接一直按“Ctrl+Z”全部撤回至最初的编辑状态,这种方法不可取(田聪已经犯下了第二次,做了个错误示范)。


解决方法:
1.首先右击branch,然后点击TortoiseSVN下的show log


2.随后会弹出一个界面,每选择一个版本时,它上面都会显示有哪些文件做了修改


3.然后双击下面修改的文件,就可以进入到文件内部观察修改的部分是不是确实是自己修改的,右边是自己修改的代码部分,左边是服务器版本代码,黄色表示修改的部分,红色表示有问题的部分


4.上述图是有问题的一张图,若是自己修改的,那么会显示黄色的部分,如果是由于自己不小心修改了其他的代码,而且会产生问题,那么就会出现红色,这时需要自己确认代码并解决红色部分代码问题后,再提交。
5.如果没有上述操作而直接提交,导致服务器有bug的存在,那么你又不知道该怎么解决,或者解决问题需要花的时间比较多时,可以直接操作“TortoiseSVN/show log/右击选择你修改代码之前的最新的服务器版本/revert to this version/revert/ok”即可



注意:
1、如果是公共项目, 所有文件的命名都要规范
2、只能提交有用的代码和文件
3、 不要随意更改别人的代码,即使发现别人的代码有问题,也应该告诉别人,让他/她修改
4、 每天在工作之前,先update一下本地的代码,保证本地代码和服务器代码一致,尽量减少冲突的可能。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
[本地工作区] :work copy ,本地工作副本; [主项目]:引用共用模块的新项目(工程) 最新版本(HEAD revision):版本库里文件或目录的最新版本 SA :SVN服务器的管理员 PRA :单个项目库的管理员,或者是项目负责人 User :普通工作人员 WC :work copy ,本地工作副本 1. 版本控制原则 SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。 建议的开发过程组织: 1. 随行就市 项目刚开始阶段,单独开发;项目稳定阶段,完整开发。项目开发初期,各个项目成员负责自己的文件夹(或者模块),与SVN服务器间的更新、提交等操作只需要针对自己负责的文件夹(或者模块)就行了,他人的文件夹(或者模块)可以不必关心;项目稳定阶段,也就是每天的变更量很小了,所有项目成员与SVN服务器的更新、提交等操作需要针对项目的所有文件夹(或者模块),各个项目成员在其本地编译时本地工作区的全部项目程序(或者资料)均为最新的版本,保证项目作为整体能够顺利运行。 2. 能躲就躲 尽量保证一份文件只有一个项目成员在编辑。举例说明:程序员A负责底层中文件 DBAccess.cs的编写,如果程序员B的工作要求他为DBAccess.cs增加两个方法,程序员B应该通知程序员A来增加而不是自己增加;如果此时A非常繁忙需要B自己增加,就需要B先更新本地的DBAccess.cs,然后开始修改,修改完成后立即提交并通知A更新本地的文件,通过缩短提交间隔来减少冲突。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值