Git Config Shortcuts

There lives a dotfile ~/.gitconfig, it lives in your home folder. It’s a personal configuration file for the Git version control system on your machine. You can do a little bit of customization to really pimp out your Git game.

vim ~/.gitconfig:

Here’s my Config dotfile. I have the aliases commented as to what they do.

[user]
  name = Marko Bajlovic
  email = mbajlovic@gmail.com
[alias]
  # status short & branch
  s = status -s -b
  # add, commit
  ac = !git add -A && git commit -m
  # add, commit, push
  acp = "!f() { git add -A && git commit -m \"$@\" && git push; }; f"
  # get all new content
  get = !git pull --rebase && git submodule update --init --recursive
  # go to root
  grt = !cd $(git rev-parse --show-toplevel)
  # push current branch
  pu = !git push -u origin $(git branch-name)
  # what changed (detailed log)
  w = whatchanged
  # log
  l = log
  # log simpler
  lol = "log --graph --decorate --oneline"
  # log simple
  logd = "log --date-order --all --graph --format='%C(green)%h%Creset %C(yellow)%an%Creset %C(blue bold)%ar%Creset %C(red bold)%d%Creset%s'"
  # log fancy
  logf = "log --date-order --all --graph --name-status --format='%C(green)%H%Creset %C(yellow)%an%Creset %C(blue bold)%ar%Creset %C(red bold)%d%Creset%s'"
  # what have i changed since yesterday
  logg = !git log --since yesterday --pretty=short --author `git config user.email`
[core]
  editor = subl -n -w
  compression = 0
[color]
  ui = true
[merge "npm-merge-driver"]
  name = automatically merge npm lockfiles
  driver = npx npm-merge-driver merge %A %O %B %P
[http]
  postBuffer = 500M
  maxRequestBuffer = 100M
[merge]
  tool = sublimerge
[diff]
  tool = sublimerge
[fetch]
  prune = true
[format]
  pretty = "%H %ci %ce %ae %d %s"
ender