dotfiles/gitconfig

49 lines
1.7 KiB
Plaintext

[core]
excludesfile = ~/.gitignore_global
[user]
email = tyrelsouza@gmail.com
name = Tyrel Souza
signingkey = 8A2DDEE2
[commit]
gpgsign = true
[color]
ui = auto # covers diff = true, status = auto, branch = auto
interactive = auto
[push]
default = current
[format]
pretty = format:%C(auto)%h %C(green)%G? %C(red)%<(15,trunc)%aN %C(cyan)%<(15,trunc)%ar %C(white)%<(60,trunc)%s %C(auto)%d
[alias]
# show all these aliases
alias = "!git config -l | grep alias | cut -c 7-"
# Way more information on git log
ll = log --stat --abbrev-commit
# Show files modified per commit
files = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
# show a tree with branches merging
logtree= "log --graph --oneline --decorate --all"
# get the most 10 recent branches worked on
recent = "!git for-each-ref --format=\"%(committerdate:relative) | %(refname)\" --sort=-committerdate refs/heads | sed '/master/d' | head -n 15"
# show tabs with ⌑ replacing tabs
tabs = "!git diff --color | sed 's/\t/⌑/g'"
# show the current version tag
v=describe --tags --match 'v*'
# alias like `hg st`, because I like st, shorter is nice!
st = status
# prettier diffs
d = diff --color-words
#push
p = push
pr = !"pr() { git fetch origin pull/$1/head:pr-$1; git checkout pr-$1; }; pr"
# Diff so fancy!
dsf = "!f() { [ \"$GIT_PREFIX\" != \"\" ] && cd "$GIT_PREFIX"; git diff --color $@ | diff-so-fancy | less --tabs=4 -RFX; }; f"
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22