[include] path = ~/.config/git/themes/catppuccin.gitconfig [includeIf "gitdir:~/dev/work/"] path = ~/.config/git/config-work [includeIf "gitdir:~/dev/class/"] path = ~/.config/git/config-class [user] name = Sergio Laín email = sergio.lac@pm.me signingKey = 8429B2EE312F8150 [safe] directory = ~/dev [filter "lfs"] clean = git-lfs clean -- %f smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true [init] defaultBranch = main [protocol "file"] allow = always [credential] helper = libsecret [core] editor = nvim pager = delta excludesfile = ~/.config/git/ignore [interactive] diffFilter = delta --color-only [delta] features = catppuccin-macchiato side-by-side = false true-color = always hyperlinks = true line-numbers = true [merge] tool = nvimdiff conflictstyle = diff3 [diff] colorMoved = default [pull] rebase = false [commit] gpgsign = false [gpg] program = /sbin/gpg [alias] aliases = config --get-regexp alias a = add --all ai = add -i ap = apply as = apply --stat ac = apply --check ama = am --abort amr = am --resolved ams = am --skip b = branch ba = branch -a bd = branch -d bdd = branch -D br = branch -r bc = rev-parse --abbrev-ref HEAD bu = !git rev-parse --abbrev-ref --symbolic-full-name "@{u}" bs = !git-branch-status c = commit ca = commit -a cm = commit -m cam = commit -am cem = commit --allow-empty -m cd = commit --amend cad = commit -a --amend ced = commit --allow-empty --amend cl = clone cld = clone --depth 1 clg = !sh -c 'git clone https://github.com/$1 $(basename $1)' - clgp = !sh -c 'git clone git@github.com:$1 $(basename $1)' - clgu = !sh -c 'git clone git@github.com:$(git config --get user.username)/$1 $1' - cp = cherry-pick cpa = cherry-pick --abort cpc = cherry-pick --continue d = diff dp = diff --patience dc = diff --cached dk = diff --check dck = diff --cached --check dt = difftool dct = difftool --cached f = fetch fo = fetch origin fu = fetch upstream fp = format-patch fk = fsck g = grep -p l = log --oneline --graph --decorate lg = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' ls = ls-files lsf = !git ls-files | grep -i m = merge mm = merge --no-ff -m "🔀 merge: Merge branch '$(git symbolic-ref --short HEAD)' into '$(git branch --show-current)'" ma = merge --abort mc = merge --continue ms = merge --skip o = checkout om = checkout master ob = checkout -b opr = !sh -c 'git fo pull/$1/head:pr-$1 && git o pr-$1' pr = prune -v ps = push psf = push -f psu = push -u pst = push --tags pso = push origin psao = push --all origin psfo = push -f origin psuo = push -u origin psom = push origin master psaom = push --all origin master psfom = push -f origin master psuom = push -u origin master psoc = !git push origin $(git bc) psaoc = !git push --all origin $(git bc) psfoc = !git push -f origin $(git bc) psuoc = !git push -u origin $(git bc) psdc = !git push origin :$(git bc) pl = pull pb = pull --rebase plo = pull origin pbo = pull --rebase origin plom = pull origin master ploc = !git pull origin $(git bc) pbom = pull --rebase origin master pboc = !git pull --rebase origin $(git bc) plu = pull upstream plum = pull upstream master pluc = !git pull upstream $(git bc) pbum = pull --rebase upstream master pbuc = !git pull --rebase upstream $(git bc) rb = rebase rba = rebase --abort rbc = rebase --continue rbi = rebase --interactive rbs = rebase --skip re = reset rh = reset HEAD reh = reset --hard rem = reset --mixed res = reset --soft rehh = reset --hard HEAD remh = reset --mixed HEAD resh = reset --soft HEAD rehom = reset --hard origin/master r = remote ra = remote add rr = remote rm rv = remote -v rn = remote rename rp = remote prune rs = remote show rao = remote add origin rau = remote add upstream rro = remote remove origin rru = remote remove upstream rso = remote show origin rsu = remote show upstream rpo = remote prune origin rpu = remote prune upstream rmf = rm -f rmrf = rm -r -f s = status sb = status -s -b sa = stash apply sc = stash clear sd = stash drop sl = stash list sp = stash pop ss = stash save ssk = stash save -k sw = stash show st = !git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*' t = tag td = tag -d w = show wp = show -p wr = show -p --no-color svnr = svn rebase svnd = svn dcommit svnl = svn log --oneline --show-commit subadd = !sh -c 'git submodule add git://github.com/$1 $2/$(basename $1)' - subrm = !sh -c 'git submodule deinit -f -- $1 && rm -rf .git/modules/$1 && git rm -f $1' - subup = submodule update --init --recursive subpull = submodule foreach 'git pull --tags -f origin master || git pull --tags -f origin main' assume = update-index --assume-unchanged unassume = update-index --no-assume-unchanged assumed = !git ls -v | grep ^h | cut -c 3- unassumeall = !git assumed | xargs git unassume assumeall = !git status -s | awk {'print $2'} | xargs git assume bump = !sh -c 'git commit -am \"Version bump v$1\" && git psuoc && git release $1' - release = !sh -c 'git tag v$1 && git pst' - unrelease = !sh -c 'git tag -d v$1 && git pso :v$1' - merged = !sh -c 'git o master && git plom && git bd $1 && git rpo' - aliases = !git config -l | grep alias | cut -c 7- snap = !git stash save 'snapshot: $(date)' && git stash apply 'stash@{0}' bare = !sh -c 'git symbolic-ref HEAD refs/heads/$1 && git rm --cached -r . && git clean -xfd' - whois = !sh -c 'git log -i -1 --author=\"$1\" --pretty=\"format:%an <%ae>\"' - serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git behind = !git rev-list --left-only --count $(git bu)...HEAD ahead = !git rev-list --right-only --count $(git bu)...HEAD ours = "!f() { git checkout --ours $@ && git add $@; }; f" theirs = "!f() { git checkout --theirs $@ && git add $@; }; f" subrepo = !sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' - human = name-rev --name-only --refs=refs/heads/* ig = "!f() { gitignore \"$@\"; }; f"