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 安装

直接执行下面的命令即可

1
2
3
4
5
通过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 造成的错误。