sync/git/.gitconfig

59 lines
2.0 KiB
INI

[include]
path = .config/gitconfig.custom
[alias]
i = "!git br&&git st"
# coa = "!for i in $(git branch -a|cut -b3-|grep remotes|sed -e 's/remotes\///'|cut -d/ -f1 --complement|cut -d\ -f1);do git checkout $i;done"
pul = pull
pus = push --all
co = checkout
ci = commit -m
aci = commit -am
aaci = "!git add --all;git commit -m"
setup = "!git init;git commit --allow-empty -m 'Initial commit'"
a = add
aa = add --all
st = status
br = branch -av
hist = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit
dt = difftool
cbranch = !sh -c 'git commit -m \"$2\"&&git branch $1&&git reset --hard HEAD~1&&git co \"$1\"' -
nbranch = !sh -c 'git branch $1&&git reset --hard HEAD~1&&git co \"$1\"' -
size = "!git diff --cached --binary | wc -c | numfmt --to=iec-i"
x = "!exec "
unstage = reset HEAD --
up = pull --rebase --autostash
ignore = update-index --assume-unchanged
noignore = update-index --no-assume-unchanged
rename-branch = branch -m
find-file = "!for branch in $(git for-each-ref --format=\"%(refname)\" refs/heads); do if git ls-tree -r --name-only $branch | grep \"$1\" > /dev/null; then echo \"${branch}:\"; git ls-tree -r --name-only $branch | nl -bn -w3 | grep \"$1\"; fi; done; :"
# n => no pager
ndiff = !git --no-pager diff
permission-reset = "!git diff -p -R --no-color | grep -E \"^(diff|(old|new) mode)\" --color=never | git apply"
[push]
default = matching
[core]
excludesfile = /home/stonewareslord/.gitignore_global
ignorecase = false
[diff]
tool = vimdiff
[difftool]
prompt = false
[merge]
tool = diffconflicts
[mergetool "diffconflicts"]
cmd = diffconflicts vim $BASE $LOCAL $REMOTE $MERGED
trustExitCode = true
keepBackup = false
[credential]
helper = cache
[color]
ui = auto
[gui]
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
[pager]
branch = false