CornerStone使用跳坑总结(陆续更新)

Cornerstone是专门为Mac用户设计的Subversion(SVN)的控制,使版本控制更加透明.cornerstone根Xcode相比,能够更好的忽略文件,所以除了项目经理第一次初始化项目的时候需要用到cornerstone,其他时候用Xcode的source control的命令就可以进行源码的update和commit。

pojie版下载链接:提取码:5hk5

问题: 
安装后打开出现“Cornerstone.app 已损坏,打不开。您应该将它移到废纸篓。”这并不是我们文件的问题。

解决: 
在安全性与隐私中打开任何来源就解决了。但是,在安全性与隐私中并没有打开任何来源这一选项。原来是10.12 后需要手动开启任何来源。开启方式如下:

打开终端 ( 终端在 应用程序 - 实用工具内 ):如果你遇到问题:Mac的终端怎么打开?

输入:sudo spctl –master-disable

会出现 Password: 这个提示, 你这个时候要输入你的账户的密码, 这个时候由于苹果系统的隐私保护机制,你输入的密码不会显示在终端上,但是系统已经正确输入,输入完按回车键就可以了。如果没有密码需要到系统偏好设置 - 账户 - 设置密码. 不可以是空的密码.. 然后你重启电脑就会出现任何来源的选项了. (也不用重启电脑,重启设置即可);

SVN基本操作:

下载服务器代码、修改本地代码、提交本地代码;

常见操作:

svn checkout:将服务器代码完整的下载到本地;

svn commit:将本地修改的内容提交到服务器;

svn update:将服务器最新代码下载到本地;

注意:

1.Checkout只需要做一次!之后每次的update之后都是最新的代码 改正自己的代码也要在这个文件下面去修改,否则你的修改是在这边接收不到的。

提醒:

每天下班前:commit“可运行版本”;

每天上班前:update前一天所有代码;

在Mac上,可以利用SVN图形界面工具来管理源代码,可以大大减小使用命令行的痛苦(有些操作使用命令行会比较繁琐,比如解决冲突);

CornerStone常见图标的含义:

  • A:add,新增
  • C:conflict,冲突
  • D:delete,删除
  • M:modify,本地已经修改
  • G:modify and merGed,本地文件修改并且和服务器端进行合并
  • U:update,从服务器更新
  • R:replace,从服务器替换
  • I:ignored,忽略
  • 常见提示图标:
    黄色感叹号(有冲突):
    --这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别人的修改。要解决冲突,如果你确认你的修改是无效的,则用TSVN还原你的修改就行了;如果认为你的修改是正确的,别人的提交是无效的,那么用TSVN先标记为“解决冲突”,然后就可以提交了;如果你认为你的修改和别人的修改都有一部分是有效的,那么你就把别人的修改手动合并到你的修改中,然后使用TSVN标注为“解决冲突”,然后就可以提交了。进入文件夹,寻找有黄色感叹号的文件,这些文件就是发生冲突的地方,根据实际情况处理冲突

    米字号(有本地修改代码):
    --这是说明你有未提交的本地代码。

    问好(新加入的资源):
    --这说明该文件是项目中新增文件资源,新增资源可以是文件、图片、代码等。

    红色感叹号(本地代码与库没有保持一致):
    --这说明本地代码跟库上没有保持一致,如果用户想修复,可以将带红色感叹号图标文件删除,直接update即可。

    灰色向右箭头(本地修改过)
    --本地代码没有及时上库。

    蓝色向左箭头(SVN上修改过)
    --记得更新代码后修改,提交前跟svn对比习惯。

    灰色向右且中间有个加号的箭头(本地比SVN上多出的文件)
    --修改完记得跟svn保持一致

    蓝色向左且中间有个加号的箭头(SVN上比本地多出的文件)
    --删除该文件后,再次更新,将svn上文件全部更新下来。

    灰色向右且中间有个减号的箭头(本地删除了,而SVN上未删除的文件)
    --也就是说你删除确认后,一定要记得上库,跟svn保持一致

    蓝色向左且中间有个减号的箭头(SVN上删除了,而本地未删除的文件)
    --比对svn库上代码,确定需要删除后,更新svn(删除无用代码)。

    红色双向箭头(SVN上修改过,本地也修改过的文件 )
    --这个表示本地和svn上都修改过,最好就是把本地修改合并到svn,修改代码前最后先更新。

    版本回退

    本地版本回退:
    右键选中对应的项目或者文件,弹出菜单中选中Revert
    提示你当前工程有一些修改,但是还没提交,"Discard XXX"-点击后当前修改的内容会被取消,“Copy XXX”-点击会会先复制一份代码到废纸篓
    点击 “Discard XXX”后,本地工程已更新至选择的版本,如果想将服务器上的也更新到选择的版本,可以再commit。
    服务器版本回退:误将错误的文件上传到了svn服务器,回滚的办法是:
    1:svn merge -r100:99 . (注意有个点,表示当前路径)
    2:svn ci -m “revert version” . (代码提交,实际上删除之前误传的文件)
    .a(库文件)
    首先打开软件左上角 CornerStone-Preferences-SubVersion
    第一个地方把对号去掉,第二个地方把.a那个删除,然后save。
    然后把你的.a文件放到本地的相应文件夹下,
    但是 CornerStone(我的是v2.7.10 版本的) 里相应文件夹下看不到带问号的.a文件的话,点击上边 View-Show Ignored Items
    到这里就ok了,选中你的静态库 点击底部Add 问号会变成A,然后就可以提交了。
    部分摘自原文:https://blog.csdn.net/u013705509/article/details/51382239
原文地址:https://www.cnblogs.com/zhangxin123/p/9962994.html