SVN操作记录——merge/修改文件夹名/删除commit文件夹

SVN常见操作

版本管理是编程的必备技能之一,楼主在上学的时候基本没有接触过版本管理的软件(毕竟半路出家…)。在公司开始接触SVN/Git之后也遇到了一些问题,经常因为不够熟悉,导致浪费很多不必要的时间,因此在这里记录一下SVN的一些常用操作,仅供参考!

删除已经commit的文件/文件夹

使用SVN的时候经常会不小心将一些不应该提交的文件/文件夹上传到服务器,比如Android开发中的*iml文件,build文件夹等,这些文件有的是本地配置的记录文件,有的是编译产物,不应该提交到服务器上,这个时候就可以使用如下方式,删除服务器上的这些文件/文件夹:
方法1、checkout服务器代码到本地,在本地删除需要剔除的文件/文件夹,然后commit到服务器;
方法2、checkout服务器代码到本地,右键选择TortoiseSVN,选择Repo-browser,然后找到对应的文件/文件夹,右键delete即可;

修改文件/文件夹名称

使用SVN的时,有时会新建文件夹folder1,然后将该文件夹add,再commit到服务器上,但是该文件夹名字写错了,本该是folder2,这时候如果直接在本地修改文件夹名称然后在commit就会出现找不到这个文件夹的问题,这个时候就可以用如下方法解决;
右键TortoiseSVN选择Repo-browser,然后在仓库浏览界面rename需要改名的文件夹,这种方法虽然可以快速实现修改文件夹名称,但是会把之前该文件夹下的record都删除,类似于在服务器上删除了这个文件夹,然后又新建了一个文件夹一样;
(如果见到更好的方法,会在这里补充)

SVN merge操作

使用版本管理器基本上都会用到merge操作,在项目开发中,如果主干(trunk)版本开发到一定程度时,就会从trunk拉出一个分支(barnch)来做新功能的开发,然后在branch版本开发到一定程度了再合的trunk版本上;楼主之前因为害怕merge中的冲突(conflict),所以一直没有使用merge操作,直接用beyond compare对比trunk版本和branch版本之前的差异,然后在commit不一样的文件,这样操作虽然也可以完成工作,但是效率难免会低很多,所以楼主也是脚踏实地学一学使用merge功能。
假设需要将branch版本合到trunk上,首先进入trunk版本下,右键选择TortoiseSVN,然后选择Merge,可以看到merge可以分为两种①Merge a range of revisions ②Merge two different trees;第一种方式为楼主一般使用的,从其他分支将代码合到本分支,第二种方式为从不同的两个分支合并代码到本分支,这里我们只介绍第一种方式,如有需要可以自行学习第二种方式的使用情况。
选择方式一,然后URL to merge from 选择需要merge的分支,然后可以选择all revisions(来源分支的所有记录),specific range(特定一条或几条记录,可以进去✔选择,也可以用数字注明5-10这样),然后选择next,之后可以选择Test Merge,这样可以测试merge时会碰到的conflict,接着选择Merge,这个时候可能出现需要解决的conflict,选择solve conflict,解决出现的冲突即可!
使用merge的好处是对于没有冲突的文件可以直接copy过来,并且可以选择只合特定的1条或者几条记录!

参考链接:

https://www.cnblogs.com/xdouby/p/7237005.html
https://www.cnblogs.com/mq0036/p/3498908.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值