当前位置:首页>编程日记>正文

svn的使用(转载)

这里只介绍使用CornerStone来使用SVN

CornerStoneMac OS X系统下非常好用的一款svn工具,当然还有Versions也是可以用的,但是使用起来不如CornerStone好用。

声明:CornerStone是收费,如果是公司需要使用到,建议让公司购买软件使用版权,支持正版。本人所用的是公司购买了使用权的版本。当然网上也是有破解版本的。

对于想要破解版本的,大家可以百度一下,有很多下载的。

软件界面

svn的使用(转载) 配图01

添加仓库

点击左侧栏中REPOSITORY那一栏的+加号选择添加repository

svn的使用(转载) 配图02

如果你公司的给你的repository地址为svn://开头,则选择SVN Server。如果为Http://https://开头,则选择HTTP Server

SVN Server配置

假设公司给你的svn地址为:svn://192.168.1.2/svn/ios,用户名:huangyibiao,密码:123456

  1. 填写Server这一栏,即主机地址:192.168.1.2
  2. 填写Port端口号,当然有时候是不需要填写的,使用默认的就可以了
  3. 填写Repository path:这是远端仓库的访问路径,对于这里就是/svn/ios
  4. 填写好之后,会自动生成。如果你填写完之后不是这种svn://username@host:port/RepositoryPath格式,则说明填写有误
  5. 输入用户名
  6. 输入密码

HTTP Server配置

svn server一样,只有一个地方需要注意,如果地址是https://,则需修改Protocol选项为HTTPS,否则也会添加失败。

基本使用

  1. 上传项目到远端仓库repository

可以直接将文件或者文件夹拖到repository的子文件夹中,或是选择软件上方的Import按钮上传,会弹出选项填写所在位置及名称,然后选择Import即可。

  1. 导出Export

点击Export导出项目,导出的项目是与当前的svn中的源文件没有关联,外部修改导出的项目,不会影响到原来的项目。

  1. 切分支Checkout

Check Out下来的文件会创建一个working copy,此文件与库中源文件相关联,当有新版本(他人修改)或是本地修改(自己修改)时,working copy会显示修改数量,白色数量为他人修改数量,灰色数量为本人修改数量。所以如果你是项目中的开发人员,可以选择check out,如果只是下载查看,不希望自己的修改影响到整个项目,最好是选择Export

  1. 版本管理

每一次提交会创建一个新版本,在repository中会保存所有历史版本,可通过修改人及提交信息进行检索版本,所以用svn开发可以很好的控制项目出现不可解决及未知bug时代码的修复问题:

注意事项

svn方便了多人开发同一项目的代码合并问题,但是也有一些事项需要注意:

  1. 先更新后提交

在看到有新版本(即同伴已经提交代码时),先更新代码,直至working copy不再显示白色圈,然后运行代码确定可运行且功能无误之后再commit自己的代码,否则,会造成项目中出现多处冲突或bug,且很难排查原因

  1. 完成独立功能后再提交,且认真填写提交信息

每完成一个独立的功能,或解决一个bug之后再提交代码,不要连续多次重复提交,造成版本过多过杂,且提交时务必填写提交信息,交代本次完成了什么功能,方便通过message的搜索来查看历史版本

  1. 冲突文件

原则上同一组开发人员最好不要在同一文件中进行操作,但有时候必须去其他文件中进行操作,或者是误操作,如果同时多人在同一文件的同一位置修改代码,后提交的人会出现版本冲突文件,一般会有三个同样名称不同后缀的文件

  1. .mine文件:本人所做修改

两个.r0XX文件:XX为数字,数字较小的为更改前的文件,较大的为更改后的文件,在文件中会有<<<< mine .r0XX>>>>>等字样包含起来的代码,即冲突的地方,此时请和组内同事讨论或自己删除某部分修改文件后进行调试,修复文件

  1. 对于新添加文件

提交时新增加的文件显示为问号(?)状态的,请选中右击后 选择Add to Working Copy之后再commit

ios使用SVN

针对ios项目:出现某个工程或文件打不开的情况,如果为.project文件无法打开,则选择:


http://www.coolblog.cn/news/0fb2f6dcd1d26cee.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 行为模式之Template Method模式
  • 通过Spark进行ALS离线和Stream实时推荐