git相关知识(zsh安装使用教程等)

一. shell

shell是什么?壳?其实就是操作系统包含一个外壳,然后让用户通过这个壳来操作OS,而shell的版本有很多,比如bash(这个一般是系统默认的shell),zsh等。

终端查看已安装shell:

cat /etc/shells


二. .bashrc(系统默认的配置文件)或者.zshrc(zsh这个shell的配置文件)

这两个文件就是保存个人的一些配置,如命令别名,路径等。每次修改后,要用source ~/.bashrc就可以立即加载修改后的设置,使之生效。

一般会在.bash_profile文件中显示调用.bashrc
。登录linux启动bash时首先会去读取~/.bash_profile文件,这样.bashrc就得到了执行,设置也就生效了。

用户登录后加载profile和bashrc的流程如下:

1)/etc/profile-------->/etc/profile.d/*.sh

2)$HOME/.bash_profile-------->$HOME/.bashrc---------->/etc/bashrc

说明:

bash首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh

随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,

而.bashrc脚本会执行/etc/bashrc脚本

至此,所有的环境变量和初始化设定都已经加载完成.

bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定.

三. .zshrc部分文件解读(参考一介布衣文章 )

ZSH_THEME="robbyrussell"  //用来指定zsh 样式

ZSH_THEME="robbyrussell"  //用来指定zsh 样式,

lugins=(git autojump osx brew node npm)  //zsh 使用的插件

git插件如图:


git插件

上面这个 zsh 从红箭头表示 zsh 开始位置, 接着是绝对路径 ,后面跟着显示 git(dev) x 是上面意思?

git 表示此目录被git 仓库托管.

(dev) 表示当前目录内容所在git 分支 是 dev

x 号表示,当前文件中有内容变动,并且没有提交到代码库,如果提交以后,会变成绿色√号

上面关于git 的一系列功能就是 zsh 中我开启了git 插件(这个插件是 oh-my-zsh 项目自带的,并且默认开启的插件)

zsh另外一个功能,别名设置:

.oh-my-zsh/plugins/git/git.plugin.zsh这个文件就是对应的别名设置,部分设置如下:

alias g='git'

alias ga='git add'

alias gaa='git add --all'

alias gapa='git add --patch'

alias gb='git branch'

alias gba='git branch -a'

alias gbda='git branch --merged | command grep -vE "^(\*|\s*master\s*$)" | command xargs -n 1 git branch -d'

alias gbl='git blame -b -w'

alias gbnm='git branch --no-merged'

alias gbr='git branch --remote'

alias gbs='git bisect'

alias gbsb='git bisect bad'

alias gbsg='git bisect good'

alias gbsr='git bisect reset'

alias gbss='git bisect start'

比如查看文件状态命令,git status 可以用gst代替

git  commit -a -m "提交信息" 可以用gcam "提交信息"代替

四. 大招来了,zsh安装(参考此文章 参考此文章2 )

1.检查zsh是否存在,其实mac里边本来就有,其他的我也不知道,终端输入:


输入zsh --version

有版本号说明存在,跳过第二步。

2.zsh安装,终端输入:

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

3.安装oh-my-zsh(这个是什么鬼,因为zsh太难配置,所有外国小哥搞的类似一键配置的工具,安装即可),终端输入:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

4.将当前用户的默认shell改成zsh,终端输入:

chsh -s /bin/zsh

重新打开看看吧。

5.设置命令别名

vi ~/.zshrc

英文状态下按i键进入修改模式,到最后添加 alias cls="clear"

然后按esc取消修改模式,按shift+:键。左下角会出现一个冒号,输入wq保存退出。然后终端输入:

source ~/.zshrc

此命令是使shell立即加载修改过得配置文件,懒得输入的话把终端重启也行,因为重启终端会重新加载配置文件。

然后试试cls就可以清屏了

例如:清屏用clear 好烦的 上边设置后清屏可以用cls了。

我设置的一些别名:

# 清屏

alias cls="clear" 

# 更改zsh配置

alias vzrc="vi ~/.zshrc"

# 立即重新加载配置文件

alias szrc="source ~/.zshrc"

6.启动命令纠错功能,终端输入

vi ~/.zshrc

找到

# ENABLE_CORRECTION="true"

然后改成

ENABLE_CORRECTION="true"

改的过程和上边设置别名一样。

然后来看看效果如何吧!


上边gst是zsh设置的git status的别名

当我输入gstt时,提示我是否改成gst,输入y即可。

PS:参考文章中的手动安装中

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

~/.oh-my-zsh/templates/zshrc.zsh-template其实是zsh的一个配置模板,这句命令意思是按照配置模板来拷贝一份文件并命名为.zshrc,然后放在根目录下。


看下我的效果


有没有感觉很炫?看下边文章自己设置吧。

文章一 

文章二 

推荐阅读更多精彩内容