diff --git a/.config/git/config b/.config/git/config index 5c584c45..cd1d60bd 100644 --- a/.config/git/config +++ b/.config/git/config @@ -1,243 +1,259 @@ [user] name = Sergio Laín - email = sergiolain11@gmail.com - signingKey = 14C9B8080681777B + email = sergiolain11@gmail.com + signingKey = 14C9B8080681777B + [safe] - directory = ~/Repos/ + directory = ~/Repos/ + [credential "https://github.com"] username = Matt-FTW + [filter "lfs"] clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f - process = git-lfs filter-process - required = true + smudge = git-lfs smudge -- %f + process = git-lfs filter-process + required = true + [init] - defaultBranch = main + defaultBranch = main + [protocol "file"] - allow = always + allow = always + [credential] helper = libsecret + [core] editor = nvim pager = diff-so-fancy | less --tabs=4 -RFX - excludesfile = ~/.config/git/ignore + excludesfile = ~/.config/git/ignore + [interactive] diffFilter = diff-so-fancy --patch + [merge] tool = nvimdiff conflictstyle = diff3 + [pager] blame = diff-so-fancy | less --tabs=4 -RFX + [diff] colorMoved = default + [pull] - rebase = false + rebase = false + [commit] - gpgsign = true + gpgsign = true + [gpg] program = /sbin/gpg + [includeIf "gitdir:~/Repos/Work/"] path = ~/.config/git/config-work + [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 - ############# + + 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 - ############# + + 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' - + 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" diff --git a/.config/git/config-work b/.config/git/config-work index 008de7a1..30e8f9f0 100644 --- a/.config/git/config-work +++ b/.config/git/config-work @@ -1,4 +1,4 @@ [user] name = Sergio Laín - email = sergiolain11@gmail.com - signingKey = 14C9B8080681777B + email = sergiolain11@gmail.com + signingKey = 14C9B8080681777B