Speedup your gitness. Aliases like gq/gci/gcia/gciam/gchamp + vim \gci and friends.
Ruby Shell Vim script Perl Erlang OpenEdge ABL
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.sh
.vim
.zsh/rc
bin
tests
.gitconfig
.gitignore_global
.gitmodules
Makefile
README.md

README.md

git-dots

A few speedy aliases and vim maps for git stuff.

  • g. ⇒ Quick commit-all without push (gchamp's little bro)
  • g.p ⇒ More aggressive than gciamp - does a git add . first.
  • gagit add <args>
  • ga. ⇒ OK, this one's lazy. It saves you a space versus ga ..
  • ga.cga. && gci <args>
  • ga.ci ⇒ ``
  • ga.cimp ⇒ ``
  • ga.cip ⇒ ``
  • ga.cmpga. && gcimp <args>
  • ga.cpga. && gcip <args>
  • gacga <args> && gci
  • gaci ⇒ ``
  • gaugit add -u <args>
  • gbcgitbitcommit <args>
  • gbigit bisect <args>
  • gbibgbi bad <args> && gbi next
  • gbiggbi good <args> && gbi next
  • gbingbi next <args>
  • gbirgbi reset <args> # Mnemonic: After you've bisected, it's time to 'get beer'
  • gblamegit blame <args>
  • gbp ⇒ gitbitcommit then push — because it's time to make those £'s!
  • gbrgit branch -v <args>
  • gbrd ⇒ List branches sorted by date
  • gcgit commit -v <args>
  • gcagit commit -v -a <args>
  • gcam ⇒ git commit -a -m
  • gcamp ⇒ git commit -a -m && git push
  • gcapgcia <args> && git push
  • gchamp ⇒ ``
  • gchap ⇒ Like gchamp but use editor instead of one-line read.
  • gchpkgit cherry-pick -x <args>
  • gcigit commit -v --interactive <args>
  • gcia ⇒ ``
  • gciam ⇒ ``
  • gciamp ⇒ ``
  • gciap ⇒ ``
  • gcim ⇒ ``
  • gcimp ⇒ ``
  • gcm ⇒ git commit -m
  • gcmpgcim <args> && git push
  • gcogit checkout <args>
  • gcobgit checkout -b <args> # To quickly create and switch to a branch.
  • gcomgit checkout master <args>
  • gcpgci <args> && git push
  • gdgit diff <args>
  • gdtgit difftool <args>
  • gdc ⇒ Show staging diffs (== gd --cached)
  • gdeepengit fetch --quiet --depth 99999999
  • gdirty ⇒ List commits that need to be merged or pushed.
  • gdugit diff @{u} <args> # show differences from upstream (e.g., to what does the output ofgdirtyrefer?)
  • gfegit fetch <args>
  • ghi ⇒ Github Issues CLI tool — https://github.com/stephencelis/ghi
  • git-change-author ⇒ Read name/email into ~/.gitauthor, which is sourced by ~/.sh/init-git-vars
  • git-last ⇒ Shows the most recent commit for each file/folder in the current directory, similar to GitHub's code-browser. Accepts a list of files or directories to be examined.
  • gitbitcommit ⇒ A nice process for committing per-file messages.
  • gitblame ⇒ ``
  • gitconf-sshurlsPATH = '.git/config'
  • gitdirfromurl ⇒ Parse the dir part out of a repo URL (used by gccd)
  • gitfastclone ⇒ Clone with --depth 1 to get you to the code faster (and gdeepen is always available, later on)
  • github-service-hooks ⇒ Show JSON dump of Service Hooks for a given repo.
  • gitlog ⇒ Same as "gl". Retained for backwards compatibility.
  • glgit log <args>
  • glolgit log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative <args>
  • glopgit log -p -1 <args>
  • glpgit log -p <args>
  • glsgit ls-files --exclude-standard <args>
  • gmergit merge <args>
  • gpopgit stash pop <args>
  • gpugit push --quiet <args>
  • gq ⇒ ``
  • gragit remote add <args>
  • grebgit rebase <args>
  • grebcgit rebase --continue <args>
  • grebigit rebase -i "${@-HEAD~2}"
  • gremgit remote <args>
  • gremagit remote add <args>
  • gresetgit reset <args>
  • grhgit reset --hard "${@:-HEAD}"
  • grmcgit rm --cached <args>
  • grvgit remote -v <args>
  • gs ⇒ The 'ls' of git, the nervous tick, the home base. (Bonus: Gets even quieter when redirecting.)
  • gshogit show <args>
  • gshunt ⇒ moves the most recent commit to the named branch (useful if you've just realised that you committed in the wrong place!) [cirwin's invention]
  • gstgit status <args>
  • gstagit stash save "${@:-bbiab}"
  • gsub ⇒ Submodule tools - If arg is "..." then commit saying "Submodule updates.", otherwise run args as a command foreach submodule, and default to "git status".
  • gsubagit submodule add <args>
  • gugit pull --rebase <args> # see http://sethrobertson.github.com/GitPostProduction/gpp.html
  • gundogit reset HEAD^ <args>
  • gupgit pull <args>
  • guppygup && gpu <args>
  • gwdgd --word-diff <args>
  • hubkey ⇒ Install someone's ssh keys from github to a local user's authorized_keys
  • supgit stash && gup && git stash pop <args>
  • suppygit stash && gup && gpu && git stash pop <args>
  • vigq ⇒ ``
  • vigs ⇒ Edit all changed files. (vim tip: can pass -o or afterwards do :sba)

Frequency of Use

To get an idea of the important commands, here is my top-of-history:

3324 gs 2136 git (args) 1253 gd 701 g.p 392 gu 345 gco (args) 341 gpu 330 gc (args) 254 gccd (args) 252 glp 182 gup 146 gd (args) 142 g.p (args) 138 gci 137 gitbitcommit 133 ga (args) 95 grv 89 grh 67 gbr (args) 61 vigs 58 gbr 58 g.

(This was generated by the following (plus some adjustment for renamed scripts):

perl -ne 's/(;\S*) .*/$1 (args)/; print if s/.*;g/g/' ~/.zsh_history|sort|uniq -c|sort -rn|head -n25

Zsh prompt customization

This repo comes with a .zsh/rc/use-git-prompt that sets PROMPT/RPROMPT. If you want to get the prompt gitness, but don't want to commit to this particular style of prompt, you can do like is done in sevvie-dots/.zsh/rc/zsh-theme

Sharpen that saw

E'rday.

Contact

rking-git-dots@sharpsaw.org

Ask/tell/demand anything. I'll be receptive.