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"