An extremely minified alias for git commands with tab completion. Because who wants git commit -m "blah blah blah"
to make every change?
Using ohmyzsh? See Use mingit with Oh My Zsh
The below works out of the box for zsh on mac or bash on windows. If using bash on mac, change the value of use-mac-bash
in [package.json] to true
:
npm install -g mingit && source ~/.mingit.sh
** You must execute source ~/.mingit.sh
or source ~/.zshrc
if using zsh on mac, or open a new terminal, then you can try out the Commands below. **
Tested on Mac OS X El Capitan. If this doesn't work for you, see Manual Install
Supporting the minimal number of highly-used commands
g a . // git add .
g b other-branch // git branch other-branch
g b which // git branch --show-current (note this assumes git version >= 2.22)
g c -m "made some changes" // git commit -m "made some changes"
g co master // git checkout master
g d // git diff
g f // git fetch
g i // git init
g m hotfix // git merge hotfix
g pll // git pull
g psh // git push
g r // git reset
g rsto // git restore
g s // git status
This doesn't destroy command line parameters, so for example typing
g psh origin magic // pushes local to origin/magic
or any other number of parameters on different commands works as "git push origin magic" would. Also, since command line parameters are not destoryed, using g
by itself instead of git followed by a command also works:
g stash // works just as well with any git subcommand
It also keeps tab completion. So when you want to switch to another branch, just
$ g co <TAB><TAB>
HEAD master second-branch ORIG_HEAD
as you normally would.
If on linux, append [scripts/bashrc] to ~/.bashrc
to use shortened commands.
cat ./.bashrc >> ~/.bashrc
For zsh:
- Copy [scripts/zsh-mingit] to
~/.mingit.sh
- Copy [scripts/git-completions.bash] to
~/.git-completions-mingit.sh
Then add the following to your ~/.zshrc
file:
# start mingit #
zstyle ':completion:*:*:git:*' script ~/.git-completions-mingit.bash
autoload -Uz compinit && compinit -u
source ~/.mingit.sh
compdef g='git'
# end mingit #
For bash:
Append the contents of [scripts/bash_profile] to your ~/.bash_profile
:
cat ./.bash_profile >> ~/.bash_profile
If on windows, append [scripts/win-bashrc] to ~/.bashrc
(create it if it doesn't exist) in your home directory (find home by echo $HOME
on your git bash setup...probably /c/users/$USER
).
Now use the mingit commands instead of the git commands to save tons of time while using git.
As of v7 of npm, uninstall scripts don't work :( However, you can easily uninstall this alias by running node scripts/uninstall.js before executing the below.
$ npm uninstall -g mingit