loadout/base/gitconfig
2023-08-15 18:42:49 +02:00

38 lines
1.2 KiB
Plaintext

[include]
path = custom
[push]
default = simple
[alias]
# main-branch outputs 'main' if there is a main branch, otherwise it outputs
# 'master'
main-branch = "!if git rev-parse --verify main 2>&1 >/dev/null; then echo 'main'; else echo 'master'; fi"
#Shows diff in log
ll = log --stat --abbrev-commit
#Show all aliases
alias = !git config --list | grep 'alias\\.' | sed 's/alias\\.\\([^=]*\\)=\\(.*\\)/\\1\\t=> \\2/' | sort
#Full sync of local database
sync = fetch -pv --all
cam = commit -a -m
lug = log --color --graph --date=short --pretty=format:'%Cgreen%cd (%cr)%Creset %C(bold blue)%an%Creset %Cred%h%Creset -%C(yellow)%d%Creset %s' --abbrev-commit
purr = pull --rebase
chk = checkout
from = !git fetch origin "$(git main-branch)" && git rebase -i origin/"$(git main-branch)"
# print local branches and their last commit times
blanch = for-each-ref --sort=authordate --format '%(HEAD)%(align:left,40)%(refname:short)%(end) | %(align:left,20)%(authordate:iso)%(end) | %(subject)' refs/heads
# checkout master/main and delete previously checked out branch
close = !git checkout "$(git main-branch)" && git branch -D @{-1}
[color]
branch = auto
diff = auto
status = auto