From the website of the very useful and must-have addition to your terminal - 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…“Oh My ZSH!”
As I’m using the ZSH configuration framework so often that I can’t believe I could’ve lived without it for so long here’s a collection of the plugins to cut the number of keystrokes while working with git repositories. To my great surprise there are quite a few plugins for git and the list below is my humble summary to get it remembered as much as to spread a word (as I’ve been meeting people unaware of Oh-My-Zsh far too often).
FIXME Consider the blog post complete after the line’s gone. It’s always in readable state, though.
Oh Mom, there are 10 plugins for git!
I was very surprised to have been presented with 10 plugins for git when I hit
TAB to complete the
- git = (quoting README.md) this plugin adds several git aliases and increase the completion function provided by zsh
- git-extras = ??? (aka unsure what it does - yet to be discovered)
- git-flow = (quoting the plugin’s sources) git-flow completion nirvana
- git-flow-avh = unsure how it’s different from the
- git-hubflow = unsure how it’s different from the
- git-prompt = (quoting the plugin’s sources) ZSH Git Prompt Plugin
- git-remote-branch = ??? (aka unsure what it does - yet to be discovered)
- gitfast = ??? (aka unsure what it does - yet to be discovered)
- github = ??? (aka unsure what it does - yet to be discovered)
- gitignore = ??? (aka unsure what it does - yet to be discovered)
I just assume they are all plugins to ease my work with git repositories and am going to review them all one by one and amend the blog post afterwards.
The commands I’ve managed to master so far:
git add --all
git log --oneline --decorate --color
git log --graph --decorate --all
git checkout master
git diff --cached
git commit -v --amend
git rebase --abort
git rebase -i
git rebase --continue
git reset HEAD
git reset HEAD --hard
git remote -v
git whatchanged -p --abbrev-commit --pretty=medium
Read the official Plugins page to learn how to enable plugins in your configuration.
The configuration of mine includes the following plugins,
➜ ~ grep -e "plugins=(" ~/.zshrc | grep -e "^[^#]" plugins=(git osx brew common-aliases)
I’m totally aware that there’s plenty of room for improvement here. Let me know what I’m missing (and where I’m wasting my time still). I’d wholeheartedly appreciate any time savings.