Make Shell/Git Better
1.起手式 oh-my-zsh
zsh 被称作是最强大的 shell,而 oh-my-zsh 则是最流行的 zsh 配置文件,提供了丰富的主题以及大量插件,极大地扩展了 zsh 的功能。
可以无脑引入,便得到了最基本又好用的文件夹跳转,路径、命令、参数补全等便利操作。
推荐 plugin: git, autojump, osx
2.优化你的 Git
① 美化 diff
Git 自己的 git diff 还是蛮不好用也不好看的,文件名和 diff 内容不太好定位。
基于 diff-so-fancy 我们可以做一些美化工作。
|
|
然后在 ~/.gitconfig
文件中编辑
可以参考 diff-so-fancy
中的推荐颜色做配置,然后通过 git d
命令就可以看到优化过的 diff 信息了
(git diff VS git d)
② 美化 log
git log 打出来的日志结构是完全扁平的,信息也不够全,依然是很难一眼找到自己想要的信息
依然是在 ~/.gitconfig
中编辑:
这样信息清晰好看了很多,也可以看到每个提交所在的分支及其分化衍合的情况
(git log VS git lg)
③ 命令加强 git-extras
TJ出品的 git 命令扩展集,应有尽有,要啥有啥,按需取用
3.终端复用神器 Tmux
Tmux 是 Linux 中一种管理窗口的程序,用 Tmux 的主要原因是它提供了一个窗体组随时存储和恢复的功能。
现在我们经常在开发时给一个项目起很多 server,webpack server 占一个 tab,mock server 占一个 tab,开的时候开半天,哪个断了还要挨个找。
或者,在用 SSH 登录远程服务器进行调试时,开了N多窗口,过了一会儿发现 Broken Pipe
管子裂了,又得重来。
Tmux 可以帮助我们 split 窗口以及进行终端复用保证工作现场不丢失。
使用与安装方法
4.给命令行使用的代理工具 proxychains-ng
用公司的 mnpm 镜像其实就基本不需要这个了。
自己搭服务器或者在家里办公有需求的话可以用。
5. commit message 规范工具 commitizen
制定 Code Review 规范时看到了 Egg.js 的代码贡献规范
其中总结了一条好的,有意义的 commit message 应该包含:
① type: 本次 commit 的类型(feat/fix/stype/perf….)
② scope: 改动范围
③ subject: 简要概述本次提交做了什么
④ body: 补充 subject, 可以不写
⑤ footer: 本次提交关联的 issue, task
手动按这个写还挺累挺难的,因此决定在团队中推行使用 commitizen
简单好用,立竿见影
6.好玩的 thefuck
一个好玩的小工具,给开发添点乐趣。