Moves git config

This commit is contained in:
Alicia Sykes 2025-03-30 19:53:48 +01:00
parent 31cd172ec5
commit b2783fa689
2 changed files with 311 additions and 267 deletions

View File

@ -1,4 +0,0 @@
[interactive]
diffFilter = diff-so-fancy --patch
[pull]
rebase = false

View File

@ -1,50 +1,67 @@
# -----------------------------------------------------------------------------
# Global Git Configuration # Global Git Configuration
# -----------------------------------------------------------------------------
[user] [user]
name = Alicia Sykes name = Alicia Sykes
email = alicia@omg.lol email = alicia@omg.lol
username = lissy93 username = lissy93
[init] [init]
defaultBranch = master defaultBranch = main
[pull] [pull]
# If you want `git pull` to always rebase, set this to true
rebase = false rebase = false
[core] [core]
editor = nvim editor = nvim
whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol whitespace = fix,-indent-with-non-tab,trailing-space,cr-at-eol
pager = delta
excludesfile = /Users/alicia/.config/.gitignore_global excludesfile = /Users/alicia/.config/.gitignore_global
autocrlf = false autocrlf = false
symlinks = true symlinks = true
[web] [web]
browser = firefox browser = firefox
[instaweb]
httpd = apache2 -f # [instaweb]
# httpd = apache2 -f
# Uncomment and configure if you actually use `git instaweb`
[rerere] [rerere]
enabled = 1 enabled = 1
autoupdate = 1 autoupdate = 1
[color] [color]
ui = auto ui = auto
[color "branch"] [color "branch"]
current = yellow bold current = yellow bold
local = purple bold local = purple bold
remote = cyan bold remote = cyan bold
[color "diff"] [color "diff"]
meta = yellow bold meta = yellow bold
frag = magenta bold frag = magenta bold
old = red bold old = red bold
new = green bold new = green bold
whitespace = red reverse whitespace = red reverse
[color "status"] [color "status"]
added = green bold added = green bold
changed = yellow bold changed = yellow bold
untracked = red bold untracked = red bold
[diff] [diff]
tool = vimdiff tool = vimdiff
[difftool] [difftool]
prompt = false prompt = false
[delta] [delta]
features = line-numbers decorations features = line-numbers decorations
line-numbers = true line-numbers = true
[delta "decorations"] [delta "decorations"]
minus-style = red bold normal minus-style = red bold normal
plus-style = green bold normal plus-style = green bold normal
@ -59,34 +76,40 @@
minus-empty-line-marker-style = normal normal minus-empty-line-marker-style = normal normal
plus-empty-line-marker-style = normal normal plus-empty-line-marker-style = normal normal
line-numbers-right-format = "{np:^4}│ " line-numbers-right-format = "{np:^4}│ "
# [github]
# user = lissy93
# token = token
[gitflow "prefix"] [gitflow "prefix"]
versiontag = v versiontag = v
[sequence] [sequence]
editor = interactive-rebase-tool editor = interactive-rebase-tool
# -----------------------------------------------------------------------------
# Aliases
# -----------------------------------------------------------------------------
[alias] [alias]
# Adding files
a = add --all a = add --all
ai = add -i ai = add -i
#############
# Apply patches
ap = apply ap = apply
as = apply --stat as = apply --stat
ac = apply --check ac = apply --check
#############
ama = am --abort ama = am --abort
amr = am --resolved amr = am --resolved
ams = am --skip ams = am --skip
#############
# Branch management
b = branch b = branch
ba = branch -a ba = branch -a
bd = branch -d bd = branch -d
bdd = branch -D bdd = branch -D
br = branch -r br = branch -r
bc = rev-parse --abbrev-ref HEAD bc = rev-parse --abbrev-ref HEAD
bu = !git rev-parse --abbrev-ref --symbolic-full-name "@{u}" bu = "!git rev-parse --abbrev-ref --symbolic-full-name \"@{u}\""
bs = !git-branch-status bs = "!git-branch-status"
#############
# Commits
c = commit c = commit
ca = commit -a ca = commit -a
cm = commit -m cm = commit -m
@ -95,17 +118,20 @@
cd = commit --amend cd = commit --amend
cad = commit -a --amend cad = commit -a --amend
ced = commit --allow-empty --amend ced = commit --allow-empty --amend
#############
# Cloning
cl = clone cl = clone
cld = clone --depth 1 cld = clone --depth 1
clg = !sh -c 'git clone git://github.com/$1 $(basename $1)' - clg = "!sh -c 'git clone git://github.com/$1 $(basename $1)' -"
clgp = !sh -c 'git clone git@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' - clgu = "!sh -c 'git clone git@github.com:$(git config --get user.username)/$1 $1' -"
#############
# Cherry-pick
cp = cherry-pick cp = cherry-pick
cpa = cherry-pick --abort cpa = cherry-pick --abort
cpc = cherry-pick --continue cpc = cherry-pick --continue
#############
# Diff
d = diff d = diff
dp = diff --patience dp = diff --patience
dc = diff --cached dc = diff --cached
@ -113,77 +139,86 @@
dck = diff --cached --check dck = diff --cached --check
dt = difftool dt = difftool
dct = difftool --cached dct = difftool --cached
#############
# Fetch
f = fetch f = fetch
fo = fetch origin fo = fetch origin
fu = fetch upstream fu = fetch upstream
#############
# Format patch
fp = format-patch fp = format-patch
#############
# Fsck
fk = fsck fk = fsck
#############
# Grep
g = grep -p g = grep -p
#############
# Log
l = log --oneline l = log --oneline
lg = log --oneline --graph --decorate lg = log --oneline --graph --decorate
#############
# Ls-files
ls = ls-files ls = ls-files
lsf = !git ls-files | grep -i lsf = "!git ls-files | grep -i"
#############
# Merge
m = merge m = merge
ma = merge --abort ma = merge --abort
mc = merge --continue mc = merge --continue
ms = merge --skip ms = merge --skip
#############
# Checkout
o = checkout o = checkout
om = checkout master om = checkout master
ob = checkout -b ob = checkout -b
opr = !sh -c 'git fo pull/$1/head:pr-$1 && git o pr-$1' opr = "!sh -c 'git fo pull/$1/head:pr-$1 && git o pr-$1' -"
#############
# Prune
pr = prune -v pr = prune -v
#############
# Push
ps = push ps = push
psf = push -f psf = push -f
psu = push -u psu = push -u
pst = push --tags pst = push --tags
#############
pso = push origin pso = push origin
psao = push --all origin psao = push --all origin
psfo = push -f origin psfo = push -f origin
psuo = push -u origin psuo = push -u origin
#############
psom = push origin master psom = push origin master
psaom = push --all origin master psaom = push --all origin master
psfom = push -f origin master psfom = push -f origin master
psuom = push -u origin master psuom = push -u origin master
psoc = !git push origin $(git bc) psoc = "!git push origin $(git bc)"
psaoc = !git push --all origin $(git bc) psaoc = "!git push --all origin $(git bc)"
psfoc = !git push -f origin $(git bc) psfoc = "!git push -f origin $(git bc)"
psuoc = !git push -u origin $(git bc) psuoc = "!git push -u origin $(git bc)"
psdc = !git push origin :$(git bc) psdc = "!git push origin :$(git bc)"
#############
# Pull
pl = pull pl = pull
pb = pull --rebase pb = pull --rebase
#############
plo = pull origin plo = pull origin
pbo = pull --rebase origin pbo = pull --rebase origin
plom = pull origin master plom = pull origin master
ploc = !git pull origin $(git bc) ploc = "!git pull origin $(git bc)"
pbom = pull --rebase origin master pbom = pull --rebase origin master
pboc = !git pull --rebase origin $(git bc) pboc = "!git pull --rebase origin $(git bc)"
#############
plu = pull upstream plu = pull upstream
plum = pull upstream master plum = pull upstream master
pluc = !git pull upstream $(git bc) pluc = "!git pull upstream $(git bc)"
pbum = pull --rebase upstream master pbum = pull --rebase upstream master
pbuc = !git pull --rebase upstream $(git bc) pbuc = "!git pull --rebase upstream $(git bc)"
#############
# Rebase
rb = rebase rb = rebase
rba = rebase --abort rba = rebase --abort
rbc = rebase --continue rbc = rebase --continue
rbi = rebase --interactive rbi = rebase --interactive
rbs = rebase --skip rbs = rebase --skip
#############
# Reset
re = reset re = reset
rh = reset HEAD rh = reset HEAD
reh = reset --hard reh = reset --hard
@ -193,7 +228,8 @@
remh = reset --mixed HEAD remh = reset --mixed HEAD
resh = reset --soft HEAD resh = reset --soft HEAD
rehom = reset --hard origin/master rehom = reset --hard origin/master
#############
# Remote
r = remote r = remote
ra = remote add ra = remote add
rr = remote rm rr = remote rm
@ -209,13 +245,16 @@
rsu = remote show upstream rsu = remote show upstream
rpo = remote prune origin rpo = remote prune origin
rpu = remote prune upstream rpu = remote prune upstream
#############
# Remove
rmf = rm -f rmf = rm -f
rmrf = rm -r -f rmrf = rm -r -f
#############
# Status
s = status s = status
sb = status -s -b sb = status -s -b
#############
# Stash
sa = stash apply sa = stash apply
sc = stash clear sc = stash clear
sd = stash drop sd = stash drop
@ -224,61 +263,70 @@
ss = stash save ss = stash save
ssk = stash save -k ssk = stash save -k
sw = stash show sw = stash show
st = !git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*' st = "!git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*'"
#############
# Tag
t = tag t = tag
td = tag -d td = tag -d
#############
# Show
w = show w = show
wp = show -p wp = show -p
wr = show -p --no-color wr = show -p --no-color
#############
# SVN (if used)
svnr = svn rebase svnr = svn rebase
svnd = svn dcommit svnd = svn dcommit
svnl = svn log --oneline --show-commit svnl = svn log --oneline --show-commit
#############
subadd = !sh -c 'git submodule add git://github.com/$1 $2/$(basename $1)' - # Submodules
subrm = !sh -c 'git submodule deinit -f -- $1 && rm -rf .git/modules/$1 && git rm -f $1' - 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 subup = submodule update --init --recursive
subpull = !git submodule foreach git pull --tags -f origin master subpull = "!git submodule foreach git pull --tags -f origin master"
#############
# Assume untracked
assume = update-index --assume-unchanged assume = update-index --assume-unchanged
unassume = update-index --no-assume-unchanged unassume = update-index --no-assume-unchanged
assumed = !git ls -v | grep ^h | cut -c 3- assumed = "!git ls -v | grep ^h | cut -c 3-"
unassumeall = !git assumed | xargs git unassume unassumeall = "!git assumed | xargs git unassume"
assumeall = !git status -s | awk {'print $2'} | xargs git assume 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' - # Releases / versioning
release = !sh -c 'git tag v$1 && git pst' - bump = "!sh -c 'git commit -am \"Version bump v$1\" && git psuoc && git release $1' -"
unrelease = !sh -c 'git tag -d v$1 && git pso :v$1' - release = "!sh -c 'git tag v$1 && git pst' -"
merged = !sh -c 'git o master && git plom && git bd $1 && git rpo' - unrelease = "!sh -c 'git tag -d v$1 && git pso :v$1' -"
aliases = !git config -l | grep alias | cut -c 7- merged = "!sh -c 'git o master && git plom && git bd $1 && git rpo' -"
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' - # Utilities
whois = !sh -c 'git log -i -1 --author=\"$1\" --pretty=\"format:%an <%ae>\"' - 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 serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git
############# behind = "!git rev-list --left-only --count $(git bu)...HEAD"
behind = !git rev-list --left-only --count $(git bu)...HEAD ahead = "!git rev-list --right-only --count $(git bu)...HEAD"
ahead = !git rev-list --right-only --count $(git bu)...HEAD
#############
ours = "!f() { git checkout --ours $@ && git add $@; }; f" ours = "!f() { git checkout --ours $@ && git add $@; }; f"
theirs = "!f() { git checkout --theirs $@ && git add $@; }; f" theirs = "!f() { git checkout --theirs $@ && git add $@; }; f"
subrepo = !sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' - subrepo = "!sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' -"
human = name-rev --name-only --refs=refs/heads/* human = "name-rev --name-only --refs=refs/heads/*"
# -----------------------------------------------------------------------------
# Git LFS
# -----------------------------------------------------------------------------
[filter "lfs"] [filter "lfs"]
clean = git-lfs clean -- %f clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f smudge = git-lfs smudge -- %f
process = git-lfs filter-process process = git-lfs filter-process
required = true required = true
# -----------------------------------------------------------------------------
# If you have Sourcetree installed, you can leave this. Otherwise, comment out.
# -----------------------------------------------------------------------------
[difftool "sourcetree"] [difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\" cmd = opendiff "$LOCAL" "$REMOTE"
path = path =
[mergetool "sourcetree"]
cmd = /Users/alicia/Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\" # [mergetool "sourcetree"]
trustExitCode = true # cmd = /Users/alicia/Applications/Sourcetree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
[remote "origin"] # trustExitCode = true
url = https://github.com/Homebrew/brew
fetch = +refs/heads/*:refs/remotes/origin/*
[homebrew]
analyticsmessage = true
caskanalyticsmessage = true