//CornerStone//

一、安装

二、配置SVN

首先,打开Cornerstone,点击"+"号,添加一个仓库,选中HTTP Server。

例如:

https://192.168.1.11:443/svn/FXBest

  • Protocol:分为HTTP和HTTPS,如果公司的服务器地址是HTTPS选择HTTPS,反之,选择HTTP。
  • Server:填写服务器地址。

例如:

192.168.1.11

  • Port:服务器地址中端口号。

例如:

192.168.1.11:443

  • Repository path:svn仓库的访问路径。
  • NickName:仓库显示的名称。
  • Name:用户名
  • Password:密码

注意:

  • 填写好之后,会自动生成,这样的一串路径。如果你填写完之后不是这种svn://用户名@主机地址:端口号/路径的格式,则说明填写有误。

例如:https://michael@192.168.1.11:443/svn/iOS

小技巧,一般进入公司,项目负责人会给你开svn的账号,然后会把svn的路径发给你,拿到这串路径,直接复制一下,然后切换到CornerStone,发现svn的路径会自动填充到CornerStone上面。

三、基本使用

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

2、下载项目

注意:

下载项目,一般分为Export和Check Out。

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

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

例如:

注意事项:

  • 先更新后提交,当你看到你check out下来的项目有白色圈时,说明有人已经提交了代码,这个时候,你应该先update一下,直至working copy不再显示白色圈,然后运行一下项目,确保项目没有冲突或者丢失的文件,然后在commit自己的代码。否则,会造成项目中出现多处冲突或者覆盖掉别人提交的代码。
  • 在项目开发阶段,最好每次开发完一个独立的功能,或者在测试阶段,解决一个bug之后再提交代码到svn,不要连续多次重复提交,造成版本过多过杂。并且每次提交时务必填写提交信息,方便查看历史版本。

小技巧(svn ignores的使用)

在项目中引入第三库,在本地运行项目,发现没有任何问题,但是提交到svn,其他人update之后,在运行项目发现报错,很有可能是静态文件没有上传到svn造成的。

选择Preferences

勾选Use default global ignores,删除.a后,点击save。
然后,会发现check out下来的项目中会有这些问号的文件存在,把这些带有问号的文件commit到svn,问题就解决了。

注意:

如果选择要忽略提交的文件之后,不要再把Use default global ignores选中,选中Use default global ignores的意思使用缺省的ignores。

四、CornerStone常见的图标含义

check out 下来的项目中做了修改,那么在修改之后的文件后面会有一个"M"的标志。

check out 下来的项目中做了修改,新添加一个文件,那么新添加之后的文件后面会有一个 ? 的标志,此时你需要点击add,添加到项目中,然后在commit。

check out 下来的项目中做了修改,删除一个文件,那么删除之后的文件后面会有一个 "D" 的标志。

check out 下来的项目中,如果A和B同时修改了同一行代码然后commit到svn,那么冲突之后的文件后面会有一个 "C"的标志。

注意:

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

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

五、创建分支和Tag

选择项目所在的远程仓库

  • 选择要创建分支的项目
  • 右键或者点击上图选择Branch
  • 选择分支存放的路径

注意:

  • Branch As:分支的名称
  • Where:把分支存放在什么位置
  • Tag同Branch一样

六、Merge

如果两个分支需要合并到主干,Checkout到本地,点击需要合并到的项。
点击Merge
点击Sychronize Branch:选择需要从被合并的项目(merge from)合并到这里,然后提交就可以了(如果同时有两个分支,最需仍需要在分支上修改的话,先合并一个分支到主干,然后主干在合并到另一个分支,修改冲突后提交,前提是,刚开始主干和两个分支的代码一样,参考上边的步骤生成)。

注意:

  • 在workcopying中选择目标copying,然后点击Merge,如图所示
  • 选择Mergefrom的copying
  • Merge之前cornerstone会进行dry run,进行merge分析和预览
  • 确认无误后Merge Changes(该操作是本地操作,注意解决冲突后在commit)

七、cornerStone错误异常处理

  • An error occurred and the operation could not be completed.

主要是由于你操作异常导致的,解决方案是,把生成的错误文件删除,然后在重新安装一下就可以了。

把红色箭头部分的文件删除就可以了。

  • Some of the items in this working copy are out-of-date

本地代码版本号与服务器当前最新版本号不一致导致
点击update to latest,更新服务器最新的就可以了。

/

一.安装搭建完成如下所示 :

安装并破解SmartSVN(弃用,因为不知道怎么配置,网上也没找到资料,此处只为记录):
SmartSVN下载路径
Mac 搭建 SVN 服务器环境(原创)

二. Cornerstone使用方法

CornerStone的使用
CornerStone使用教程(配置SVN,HTTP及svn简单使用)
Cornerstone忽略不必要的文件

三.SVN命令行:

svn commit -m "测试命令行上传" taa.txt   (-m 后面跟双引号,里面是上传log   后面在跟上传的文件或者目录)
svn commit -m "测试命令行上传全部文件" * (上传全部文件)
svn commit -m "测试命令行上传" 测试目录/*  (上传目录下面所有文件)
 
svn add * (添加所有文件)
svn add 文件夹名(添加文件)
 
svn update (当前目录下所有文件及文件夹更新)
svn update taa.txt (更新单个文件)
svn update -r 3 taa.txt (更新到某个版本)
 
svn cleanup (解锁)
 
svn revert taa.txt(还原单个文件)
svn revert * (还原所有文件)

//SnailSVN//

  1. App Store中搜索并下载SnailSVN


有两个版本,精简版和专业版,专业版要收费,可同时创建多个工作副本,精简版免费,只可创建一个工作副本,根据自己需求来选择。

  1. 安装SnailSVN 
    下载完成后,可在finder -> 下载中找到,打开,安装,安装界面如图 

    选择内置 -> 1.7.x/1.8.x/1.9.x(随便选择一个) ,点击测试,会提示安装版本 -> 下一步,会出现第二个安装向导页面,如图 

    这三个路径是固定的,就是提示的路径 
    1⃣️~/.ssh路径 
    查找对应的文件夹,如果~/.ssh文件夹已存在,选中.ssh文件夹;若不存在,在“用户”目录,即图标是个小房子的那个根目录创建,直接新建文件夹,提示被占用,创建不了,Siri -> 终端 -> 输入以下命令,如图 

    这时再去找,就可以看到.ssh目录了,选中 
    2⃣️/usr/local/bin路径 
    前往文件夹/usr/local,快捷键(shift + command + G),输入/usr/local,如果当前目录下,没有bin目录,直接新建文件夹即可,然后选中 
    3⃣️/Applications/路径 
    这个路径容易找,即应用程序的路径,选中后,下一步 
  2. 会提示finder偏好设置设置,进入,将snailSVN勾选,如图
  3. 关联SVN库 
    安装完成后,顶部状态栏会出现一个snailSVN精简版的图标,双击,选择check out,填上svn库的链接以及本地仓库的位置,就会开始下载代码到对应的目录中
  4. AndroidStudio关联SVN 
    打开Android Studio ,open an existing android studio project -> 导入svn中某个工程,会提示你下载Xcode,如图 

    点击安装,完成后,即关联上svn,顶部会多update,commit两个图标,snailSVN使用完全跟TortoiseSVN基本一致

/

安装完成后打开,进入到Snailsvn精简版 首选项

通用设置中,你需要什么就选什么,不懂你就都选了,没毛病
SVN设置,SVN路径默认内置就行,这就不说了
主要说工作副本这,因为精简版只支持一个,前面都说了,太坑了,所以后面,当你需要操作那个工程的时候,这块你就在下面的设置地方有个 “— ”号,删掉上面的路径,再“+”号,添加你要操作的工程,要操作的路径绿勾也就有了,鼠标右键也就有更新和提交了,每次只能操做一个路径,如果操作的路径变了,工作副本这的路径也得变。包括新建路径名称和上次一样的,这了也得重新选择,就是这么坑。

其他就很简单了,跟Windows上的小乌龟就一样了。

Mac上SVN相关内容之CornerStone和SnailSVN的使用相关推荐

  1. 删除svn_推荐:mac上svn常用命令及好用的工具

    作者:snandy来源:https://www.cnblogs.com/snandy/p/4072857.html # Mac SVN 命令行 Mac自带了SVN命令行,如我的升级到10.10(OSX ...

  2. mac上SVN简单几个命令

    mac上使用svn大致2种方式, 1.使用客户端工具 2.命令行 可以通过Xcode->Preferences->Accounts将repository: http://xxxx/svn/ ...

  3. mac搭建svn服务器文件被锁定,MAC搭建SVN服务器并配置Cornerstone

    搭建SVN服务器 Mac默认已经安装了svn,我们只需要进行配置并开启 我们可以验证一下是否安装了svn,打开终端,输入命令 svnserve --version 查看svn版本 svn上的文件不是以 ...

  4. 擦除Mac上所有内容和设置的最快方法

    需要抹掉你的 Mac?随着 macOS Monterey 的发布,苹果通过添加擦除所有内容和设置按钮使操作变得前所未有的简单.在 macOS Monterey 版本中,苹果进一步优化 Mac 设备的恢 ...

  5. 重置 Mac 上的系统管理控制器 (SMC)

    在某些情况下,您可能需要重置电脑的系统管理控制器 (SMC).了解如何辨别这些情况以及如何重置基于 Intel 的 Mac 上的 SMC. 重置 SMC 之前 只有在尝试过所有其他标准故障诊断之后,才 ...

  6. mac 语音召唤siri_在Mac上使用Siri可以做的11件事

    mac 语音召唤siri As time goes on, Apple continues to work Siri into more of its products. Its sole domai ...

  7. Mac上最佳的SVN管理工具:Cornerstone

    Mac上最佳的SVN管理工具:Cornerstone  下载地址: http://www.macapp.cc/cornerstone 教程地址: http://blog.csdn.net/ldghd/ ...

  8. Mac上最好用的svn客户端——CornerStone

    Mac上使用CornerStone 导语 SVN SVN 的一些概念 CornerStone 1.下载完直接打开是不行的 2.这时打开终端,输入以下命令 3.再次运行即可 导语 在公司实习已经两个月了 ...

  9. Mac搭建本地svn服务器,并用Cornerstone连接服务器

    Mac搭建本地svn服务器,并用Cornerstone连接服务器 Mac默认已经安装了svn,我们只需要进行配置并开启就可以了 首先我们可以验证一下是否安装了svn,打开终端,输入命令: svnser ...

最新文章

  1. php no input file specified.,nginx+php出现No input file specified解决办法
  2. 微架构设计:微博计数器的设计
  3. 在MAC中配置Tomcat+Nginx代理
  4. 你知道出现“乱码”的原因是什么吗?(4)
  5. python3 字符串方法
  6. Android-构建不同环境的Apk
  7. class react 获取_「前端进阶」React系列九 - 受控非受控组件
  8. 多功能PCIE交换机之七:单NT到双NT
  9. thinkphp5学习笔记
  10. 《Clojure程序设计》——导读
  11. php arcsin函数,三角函数计算器
  12. 思科CISCO ASA 5521 防火墙 Ipsec 配置详解
  13. JavaScript封装对象和类
  14. java集合优秀率怎么算,优秀率怎么算(及格率和优秀率公式)
  15. 360Lib整体介绍
  16. html姓名签到,方案二-签到搜索界面-姓名.html
  17. 微信小程序复制文本方法
  18. 华为计算机单机pc游戏软件,华为应用市场pc端
  19. Java excel导出支持2007以上版本
  20. 蓄电池放电容量测试方法——TFN DC-E60150蓄电池放电容量测试仪

热门文章

  1. 小虾米闯江湖服务器维护中,小虾米100级前的一些心得。
  2. Unity3D中需要的单词
  3. 05Gulimall-邮箱注册、注册功能
  4. 上传文件遇到the request was rejected because no multipart boundary was found
  5. 机械革命X6Ti-S笔记本如何bios设置u盘启动?
  6. 基于 FPGA 的 RISC CPU 设计(2)详细的模块设计思路及其 Verilog 代码
  7. css简易百叶窗效果
  8. 启用Chrome浏览器保存网页为单个MHTML文件的功能
  9. 利用wps邮件合并功能进行多张准考证的快捷编辑
  10. Nuttx编译过程记录