oh my zsh & 语义化版本

最近断断续续忙了一个多月,终于有空坐下来总结一下,写点东西。下面就简单介绍下自己最近遇到的两个坑。

oh my zsh

oh my zsh,为什么要介绍这个呢?起因是在开发过程中,为了修改一个线上bug,需要切换到其他分支,我就git stash暂存了一下当前未提交的代码。当我修改完bug回到当前分支时,咦,我暂存的代码呢?后来发现是不小心命令敲错了,请允许我做一个悲伤的表情。

后来同事就给我推荐了oh my zsh,有git命令补全等强大功能,很好用。

zsh和oh my zsh

zsh是一个功能强大的shell命令解释器,和默认的bash类似,配置较为繁琐,所以用的人也不多。

oh my zsh是国外一个程序员开发出的帮助你快速上手使用zsh的项目,可以让你轻松使用zsh。

zsh安装

macOS一般都预装了zsh,使用zsh --version命令可以查看zsh版本

如果是老版本的系统,可以使用brew install zsh zsh-completions安装zsh

oh my zsh安装

直接执行下面的命令即可

通过curl方式
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

或者wget方式
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装完成之后重新启动下终端就可以愉快的使用了

如果你想要更多的插件和主题点击这里

语义化版本

目前工作当中使用的开发模式是基于Git和CocoaPods的组件化开发,使用这种开发模式就会存在各种组件的相互依赖,随着业务的丰富、工程的增大,就会逐渐出现一种叫做“依赖地狱”问题,就是各个组件不同版本的相互依赖,最后造成某个组件版本冲突锁死的问题。

语义化版本,就是为了解决这种问题提出的,我想大多数开发者都或多或少的听说过,在开发过程中按照这种方式来控制版本,就可以尽可能避免“依赖地狱”了。

版本规则

语义化版本2.0.0是这样定义的

版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

  1. 主版本号:当你做了不兼容的 API 修改,

  2. 次版本号:当你做了向下兼容的功能性新增,

  3. 修订号:当你做了向下兼容的问题修正。

先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。

更加详细的介绍点击这里,英文版click me

版本引用

我们在引用的时候使用大于等于次版本号但不超过的主版本号的版本即'~> 2.0'这样,这样既可以保证使用最新的组件,又可以避免因为不兼容API造成的错误。