SVN常识

Myeclipse中svn插件提交代码注意:

1.每次提交代码前,一定要先把本地代码更新到最新。

2.如果文件是第一次提交到SVN仓库,提交前先add文件到版本控制,然后才能commit。

  • 添加文件到版本库。 这是一个两步的过程: 
    1. 先右击选中的文件,然后右键依次选择 "TortoiseSVN"->"Add"
    1. 先右击选中的文件,然后右键依次选择 "TortoiseSVN"->"SVN Commit"

3.如果担心提交会产生冲突,可以先把需要提交的部分备份到电脑上,然后删除已经备份过的代码,删除后重新更新代码到最新,然后把备份的文件copy过来,再进行commit操作,就不会产生冲突了。

借:

常见情况是:假定项目名称是FAMS。 
   (一) 用户张三CHECKOUT 了 FAMS的 revision 101,然后开始工作。 
   (二)用户李四CHECKOUT 了 FAMS的 revision 101,然后开始工作。 
   (三) 现在李四完成了工作,进行提交,SVN 版本号变为revision 102,一切OK. 
   (四) 现在张三完成了工作,也要进行提交,由于其工作的基础版本(workingbase)是revision 101,这时SVN会提示版本已过期,需要先 更新(svn-update).但这时真正的问题就来了: 
    注意SVN的机制是提交时合并,如果它发现服务器上文件版本比本地文件版本新,它会自动把服务器上的文件更新到本地,如果这个文件 李四从未改过,一切OK,更新就可以了。 
    但是,如果李四也对此文件比如名字叫 fillform.java做了修改, 这又分三种情况: 
     第一种情况:李四新增方法或内容,张三也是新增的内容,各不冲突,一切OK,SVN会自动合并。 
     第二种情况:李四删除了部分代码,但服务器上此文件(张三提交的)此部分代码未动,而版本却比本地新,则SVN会自动把服务器上 此文件内容合并到本地李四的版本中,注意啊:它把李四正确的删除工作给反复了,这就是SVN这种增量合并机制导致的最大问题。 
    正确方法是: 首先拷贝此文件到另一个临时目录,比如D:\TEMP,然后SVN-UPDATE此文件,第三步拷贝此文件回来,由于此时工作基础 


版本已更新至revision101,则可以正常对比,修改。最后提交即可。 
    第三种情况:如果SVN-UPDATE时发生了冲突(conflict),会产生三个文件: 
    一个是.mine 本地版本, 
    一个是.r101,你的工作基准版本, 
    一个是.r102,服务器端的最新版本。 
    则手工修改冲突,然后先SVN-resolved, 注意这是告诉SVN你已经解决了冲突。然后执行下一步SVN-COMMIT即提交,就可以把新代码更 新上去了。 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值