标签:agent 添加 影响 col on() 红色 toc web pack
对于我们程序员来说,不管你是大神,还是小鱼小虾,进入公司之后,都用过源码管理工具,不然你就不是一个合格的程序员,现在各个公司用于源码管理工具通常有下面两种:
git
:使用git
的公司应该是最多的。svn
:现在使用svn
的公司比重也挺大的,但是svn
有局限性。当然,他们两者的区别,在这里就不做解释了,一般选择用什么源码管理工具,一般会是整个项目的负责人来选择。
在iOS
开发中,最好用的svn
的Mac
版源码管理工具就是Cornerstone
,下面介绍CornerStone
的使用:
CornerStone
是收费,如果是公司需要使用到,建议让公司购买软件使用版权,支持正版,当然网上也是有破解版本的。破解版,提取密码(ggmk
),如果下载成功需要输入密码(www.ifunmac.com
)。
首先,打开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
。
check out
下来的项目中做了修改,那么在修改之后的文件后面会有一个"M
"的标志。
check out
下来的项目中做了修改,新添加一个文件,那么新添加之后的文件后面会有一个 ?
的标志,此时你需要点击add
,添加到项目中,然后在commit
。
check out
下来的项目中做了修改,删除一个文件,那么删除之后的文件后面会有一个 "D
" 的标志。
check out
下来的项目中,如果A
和B
同时修改了同一行代码然后commit
到svn
,那么冲突之后的文件后面会有一个 "C
"的标志。
注意:
原则上同一组开发人员最好不要在同一文件中进行操作,但有时候必须去其他文件中进行操作,或者是误操作,如果同时多人在同一文件的同一位置修改代码,后提交的人会出现版本冲突文件,一般会有三个同样名称不同后缀的文件。
其中.mine
文件:本人所做修改,两个.r0XX
文件:XX
为数字,数字较小的为更改前的文件,较大的为更改后的文件,在文件中会有<<<< mine .r0XX
和>>>>>
等字样包含起来的代码,即冲突的地方,此时请和组内同事讨论或自己删除某部分修改文件后进行调试,修复文件。
Branch
注意:
如果两个分支需要合并到主干,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
,更新服务器最新的就可以了。刚才和同事合代码的时候 , 打开自己SVN的Log日志 , 发现日志显示不全 , 上面黄色提醒 Could not contact repository to read the latest log entries等.
1.关闭Cornerstone
2.打开终端
3.如下图 , 在终端输入defaults delete com.zennaware.Cornerstone HistoryCacheUsage
4.右键点击Finder->前往文件夹->输入 ~/Library/Caches/Cornerstone , 前往
或者使用快捷键 : 鼠标点击桌面后 , 按键盘: command+shift+G , 输入 ~/Library/Caches/Cornerstone , 前往
如下图:
5.删除上图Store文件夹
6.重新发开Cornerstone , 查看Log日志 , 就出现近期的日志啦
7.不用谢
标签:agent 添加 影响 col on() 红色 toc web pack
原文地址:https://www.cnblogs.com/kccdzz/p/9235890.html
你测试过吗,我的~/Library/Caches/Cornerstone找不到知道什么原因吗,谢谢
用这个链接吧,楼主没有说全,最后一步特别重要!!!