dotfiles/git/config
2024-11-29 13:38:27 +01:00

113 lines
2.6 KiB
Text

[alias]
f = flow
ff = flow feature
fr = flow release
b = branch
co = checkout
cm = checkout master
cb = checkout -b
where = branch -r --contains
show = show --show-signature
ci = commit
ciam = "!f() { BRANCH=`git branch --list | grep -E '\\*' | cut -d ' ' -f2`; MSG=\"($BRANCH) $1\"; git ci -am"\"$MSG\""; }; f"
cow = "!f() { git checkout "WE-$1"; }; f"
cbw = "!f() { git cb "WE-$1"; }; f"
amend = commit -a --amend
d = diff
ds = diff --shortstat
ls = log --pretty=format:"%C(yellow)%h%Cgreen%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --no-merges
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat --no-merges
unstage = reset HEAD --
cp = cherry-pick -s -x
s = status -sb
sl = stash list
sa = stash apply
sp = stash pop
ss = stash save
rba = rebase --abort
rbc = rebase --continue
unpushed = "log --branches --not --remotes --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
# clc = "!f() { git --no-pager ls -1; git --no-pager log --no-merges --pretty=format:'%h' -1 | xclip; }; f"
up = "!gitup"
ns = log staging..master --no-merges --oneline --color --pretty=format:"%C(yellow)%h%Cgreen%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
nr = log deployment..staging --no-merges --oneline --color --pretty=format:"%C(yellow)%h%Cgreen%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
purge-local-branches = "!f() { git cmp; git branch --merged | grep -vE 'master|staging|deployment|\\*' | xargs -n 1 git b -d; git co -;}; f"
appraise = !/bin/git-appraise
[user]
name = Alexander Wühr
signingKey = ~/.ssh/id_ed25519.pub
email = alex@pnyhf.eu
[push]
default = current
[core]
excludesfile = ~/.config/git/ignore
editor = vim
pager = delta
[commit]
verbose = true
gpgSign = true
[tag]
gpgSign = true
[remote]
pushDefault = origin
[init]
defaultBranch = main
[gpg]
format = ssh
[gpg "ssh"]
allowedSignersFile = ~/.config/git/allowed_signers
[includeIf "gitdir:~/dev/scn/"]
path = ~/dev/scn/.gitconfig
[fetch]
prune = true
# prunetags = true
fsckobjects = true
all = true
parallel = 0
[merge]
conflictstyle = diff3
[diff]
algorithm = histogram
colorMoved = default
[rerere]
enabled = true
[transfer]
fsckObjects = true
[receive]
fsckObjects = true
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true # use n and N to move between diff sections
light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
[help]
autocorrect = prompt