Oh-My-Zsh 操做 Git 的快捷键

本篇文章介绍 Oh-My-Zsh 安装,以及 git 快捷键。也许你已经烦透了天天 git add . git commit -m 'some fix' git push...git

若是操做变成这样 ga . gcmsg 'some fix' gp是否是很炫酷,好吧,对于已经使用的人没什么新鲜感。github

接下来针对好奇的 Program development engineer(程序猿),作详细介绍。shell

相信 git 你们并不陌生,不熟悉 git 操做的能够看我转载的一篇阮一峰大神的 经常使用 Git 命令清单,重头戏 oh-my-zsh 你们能够看 oh-my-zsh官网编程

Oh-My-Zsh

Oh-My-Zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout...windows

简单说就是集成插件的命令行工具。针对 Mac 用户和 Linux 用户有很好的支持,windows 的朋友先不要急(有彩蛋)。bash

安装

Mac 用户和 Linux 用户经过在您的终端中运行如下命令之一来安装。能够安装经过 curlwget 命令行。curl

via curl工具

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

via wget开发工具

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

windows 我推荐一个集成 shell,git,oh-my-zsh 的命令行工具Babun。点击进入官网下载。固然官网还给出了其余炫酷功能你们能够详细阅读。url

oh-my-zsh 有许多插件和主题你们能够去 ~/.zshrc 配置

更多功能能够去官网阅读,这里强烈建议你们使用,由于会提升工做效率,对于追求完美开发体验的人帮助很大。

快捷键实现原理

这里只说 oh-my-zsh 针对 git 的改进。为何支持缩写的形式。

你们可能知道 git 的快捷键 alias,它容许咱们本身配制快捷键。例如

alias gst='git status'
alias gp='git push'
alias gp='git push'

须要配置的快捷键过多,若是对 git 操做了解不够深刻的人没法自行配置。那么 oh-my-zsh 是如何实现的呢?

其实就是用的 alias ,这里是 Github 上的连接 https://github.com/robbyrusse... ,经过 url 便知这里的master分支下,plugins插件目录,git插件下的配置文件。

喜欢阅读代码的直接点击连接查看全部快捷键实现。这里便于整理把平时工做经常使用的快捷键给你们,至于不经常使用的你们查看 Github 上的连接,可能记得多了这种对应关系容易弄混,建议你们只熟练记忆工做常有的快捷键,其它能够按着 git 官方文档去作。减小出错和没必要要的麻烦。

经常使用快捷键

g - git
gst - git status
gl - git pull
gup - git pull --rebase
gp - git push
gd - git diff
gdc - git diff --cached
gdv - git diff -w "$@" | view
gc - git commit -v
gc! - git commit -v --amend
gca - git commit -v -a
gca! - git commit -v -a --amend
gcmsg - git commit -m
gco - git checkout
gcm - git checkout master
gr - git remote
grv - git remote -v
grmv - git remote rename
grrm - git remote remove
gsetr - git remote set-url
grup - git remote update
grbi - git rebase -i
grbc - git rebase --continue
grba - git rebase --abort
gb - git branch
gba - git branch -a
gcount - git shortlog -sn
gcl - git config --list
gcp - git cherry-pick
glg - git log --stat --max-count=10
glgg - git log --graph --max-count=10
glgga - git log --graph --decorate --all
glo - git log --oneline --decorate --color
glog - git log --oneline --decorate --color --graph
gss - git status -s
ga - git add
gm - git merge
grh - git reset HEAD
grhh - git reset HEAD --hard
gclean - git reset --hard && git clean -dfx
gwc - git whatchanged -p --abbrev-commit --pretty=medium
gsts - git stash show --text
gsta - git stash
gstp - git stash pop
gstd - git stash drop
ggpull - git pull origin $(current_branch)
ggpur - git pull --rebase origin $(current_branch)
ggpush - git push origin $(current_branch)
ggpnp - git pull origin $(current_branch) && git push origin $(current_branch)
glp - _git_log_prettily

就我而言已经足够了,固然也已经包括了 Github 上大部分快捷键。

总结

好的开发工具能够大大提高工做效率,应用适立即可,过多依赖快捷键自动补全之类的工具时间久了基础知识退化,致使没有好用的工具没法编程,建议新人熟记原始命令后再尝试快捷键,避免错误的发生(毕竟这是管理代码工具,操做不当极可能删除了最近 add 以前或者 commit 以前的代码快照,由于某些操做是不可逆的),亲身踩过坑删除了一天的工做,虽然重写两个小时就完成,但十分不爽。

哈哈,牢骚了一下,本人如今大四在校生,实习5个月,哪里写的不对还望你们指正。

文章出自 orange 的 我的博客 http://orangexc.xyz/

相关文章
相关标签/搜索