常用SVN命令

常用SVN命令

在进行代码管理的时候或是文档管理,为了方便修改记录的跟进,会使用SVN,XP上经常使用乌龟,但是Mac上,个人一直用CornerStone。但是有时候CornerStone在合并代码或是解决冲突的时候总是那么不尽人意。因此,学习了几个常用的svn命令。感觉就是爽。现在给大家分享几个常用的命令。可以通过在terminal上输入svn --help可以看到svn命令的使用。
1.check out (co) 
顾名思义,check代码或是文档,常用格式是

checkout URL[@REV]... [PATH]

   2.update(up)

   更新代码

   3.merge (合并或是回滚)

usage: 1. merge SOURCE[@REV] [TARGET_WCPATH]

          (the 'sync' merge)

       2. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [TARGET_WCPATH]

          (the 'cherry-pick' merge)

       3. merge --reintegrate SOURCE[@REV] [TARGET_WCPATH]

          (the 'reintegrate' merge)

       4. merge SOURCE1[@N] SOURCE2[@M] [TARGET_WCPATH]

          (the '2-URL' merge)


比较常用的是svn merge ^/trunk,同步主干代码
  svn merge -c 50 ^/trunk 同步主干中50的版本号
  svn merge -r 200:203 ^/trunk 回滚65到68中的修改,从68中回滚到65前的内容
          svn merge --reintegrate ^/branches 把branches复兴回去主干,这里到主干之后知会看到branches上做的修改,但是前提要想把branches同步一下主干,至于其他需要的,可以在help中查看
    4.state(st)
查看当前svn的状态记录,包括文件的修改,删除,添加以及冲突的信息,都能通过st查到,其中包含了好几栏,经常看到的是M,A,D,C,比较麻烦处理的就是C,也就是冲突。后续会继续讲。(svn st --help查看详细)
    5.resolve 解决冲突的命令

usage: resolve --accept=ARG [PATH...]

ARG一般有

('base', 'working', 'mine-conflict',

                             'theirs-conflict', 'mine-full', 'theirs-full')

常用的是working,mine-conflict,theirs-conflict
冲突就是自己的版本,跟主干上的版本不一致,如果要以自己的为主,就使用mine,如果是以主干上的,那么就用theirs。具体以什么为主,就看具体的情况
接下来说一个最恶心的情况,就是树冲突,比如你在文件夹A中修改一个文件,但是别人把A删掉了,然后你要提交代码,发现A不见了,然后就会出现冲突,这时候只能手动解决,以别人的为主,然后自己手工在去修正。树冲突不会在connerstone上表现出来,只能通过svn st查看。所以用命令行解决冲突更来得快。
     6.commit 提交代码
什么都搞完了,那就提交代码,一般使用commit -m "LogData",LogData就是提交的时候的提交说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值