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,284 +1,332 @@
# -----------------------------------------------------------------------------
# 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]
rebase = false # If you want `git pull` to always rebase, set this to true
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
minus-emph-style = white bold red minus-emph-style = white bold red
minus-non-emph-style = red bold normal minus-non-emph-style = red bold normal
plus-emph-style = white bold green plus-emph-style = white bold green
plus-non-emph-style = green bold normal plus-non-emph-style = green bold normal
file-style = yellow bold none file-style = yellow bold none
file-decoration-style = yellow box file-decoration-style = yellow box
hunk-header-style = magenta bold hunk-header-style = magenta bold
hunk-header-decoration-style = magenta box hunk-header-decoration-style = magenta box
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]
a = add --all # Adding files
ai = add -i a = add --all
############# ai = add -i
ap = apply
as = apply --stat # Apply patches
ac = apply --check ap = apply
############# as = apply --stat
ama = am --abort ac = apply --check
amr = am --resolved ama = am --abort
ams = am --skip amr = am --resolved
############# ams = am --skip
b = branch
ba = branch -a # Branch management
bd = branch -d b = branch
bdd = branch -D ba = branch -a
br = branch -r bd = branch -d
bc = rev-parse --abbrev-ref HEAD bdd = branch -D
bu = !git rev-parse --abbrev-ref --symbolic-full-name "@{u}" br = branch -r
bs = !git-branch-status bc = rev-parse --abbrev-ref HEAD
############# bu = "!git rev-parse --abbrev-ref --symbolic-full-name \"@{u}\""
c = commit bs = "!git-branch-status"
ca = commit -a
cm = commit -m # Commits
cam = commit -am c = commit
cem = commit --allow-empty -m ca = commit -a
cd = commit --amend cm = commit -m
cad = commit -a --amend cam = commit -am
ced = commit --allow-empty --amend cem = commit --allow-empty -m
############# cd = commit --amend
cl = clone cad = commit -a --amend
cld = clone --depth 1 ced = commit --allow-empty --amend
clg = !sh -c 'git clone git://github.com/$1 $(basename $1)' -
clgp = !sh -c 'git clone git@github.com:$1 $(basename $1)' - # Cloning
clgu = !sh -c 'git clone git@github.com:$(git config --get user.username)/$1 $1' - cl = clone
############# cld = clone --depth 1
cp = cherry-pick clg = "!sh -c 'git clone git://github.com/$1 $(basename $1)' -"
cpa = cherry-pick --abort clgp = "!sh -c 'git clone git@github.com:$1 $(basename $1)' -"
cpc = cherry-pick --continue clgu = "!sh -c 'git clone git@github.com:$(git config --get user.username)/$1 $1' -"
#############
d = diff # Cherry-pick
dp = diff --patience cp = cherry-pick
dc = diff --cached cpa = cherry-pick --abort
dk = diff --check cpc = cherry-pick --continue
dck = diff --cached --check
dt = difftool # Diff
dct = difftool --cached d = diff
############# dp = diff --patience
f = fetch dc = diff --cached
fo = fetch origin dk = diff --check
fu = fetch upstream dck = diff --cached --check
############# dt = difftool
fp = format-patch dct = difftool --cached
#############
fk = fsck # Fetch
############# f = fetch
g = grep -p fo = fetch origin
############# fu = fetch upstream
l = log --oneline
lg = log --oneline --graph --decorate # Format patch
############# fp = format-patch
ls = ls-files
lsf = !git ls-files | grep -i # Fsck
############# fk = fsck
m = merge
ma = merge --abort # Grep
mc = merge --continue g = grep -p
ms = merge --skip
############# # Log
o = checkout l = log --oneline
om = checkout master lg = log --oneline --graph --decorate
ob = checkout -b
opr = !sh -c 'git fo pull/$1/head:pr-$1 && git o pr-$1' # Ls-files
############# ls = ls-files
pr = prune -v lsf = "!git ls-files | grep -i"
#############
ps = push # Merge
psf = push -f m = merge
psu = push -u ma = merge --abort
pst = push --tags mc = merge --continue
############# ms = merge --skip
pso = push origin
psao = push --all origin # Checkout
psfo = push -f origin o = checkout
psuo = push -u origin om = checkout master
############# ob = checkout -b
psom = push origin master opr = "!sh -c 'git fo pull/$1/head:pr-$1 && git o pr-$1' -"
psaom = push --all origin master
psfom = push -f origin master # Prune
psuom = push -u origin master pr = prune -v
psoc = !git push origin $(git bc)
psaoc = !git push --all origin $(git bc) # Push
psfoc = !git push -f origin $(git bc) ps = push
psuoc = !git push -u origin $(git bc) psf = push -f
psdc = !git push origin :$(git bc) psu = push -u
############# pst = push --tags
pl = pull pso = push origin
pb = pull --rebase psao = push --all origin
############# psfo = push -f origin
plo = pull origin psuo = push -u origin
pbo = pull --rebase origin psom = push origin master
plom = pull origin master psaom = push --all origin master
ploc = !git pull origin $(git bc) psfom = push -f origin master
pbom = pull --rebase origin master psuom = push -u origin master
pboc = !git pull --rebase origin $(git bc) psoc = "!git push origin $(git bc)"
############# psaoc = "!git push --all origin $(git bc)"
plu = pull upstream psfoc = "!git push -f origin $(git bc)"
plum = pull upstream master psuoc = "!git push -u origin $(git bc)"
pluc = !git pull upstream $(git bc) psdc = "!git push origin :$(git bc)"
pbum = pull --rebase upstream master
pbuc = !git pull --rebase upstream $(git bc) # Pull
############# pl = pull
rb = rebase pb = pull --rebase
rba = rebase --abort plo = pull origin
rbc = rebase --continue pbo = pull --rebase origin
rbi = rebase --interactive plom = pull origin master
rbs = rebase --skip ploc = "!git pull origin $(git bc)"
############# pbom = pull --rebase origin master
re = reset pboc = "!git pull --rebase origin $(git bc)"
rh = reset HEAD plu = pull upstream
reh = reset --hard plum = pull upstream master
rem = reset --mixed pluc = "!git pull upstream $(git bc)"
res = reset --soft pbum = pull --rebase upstream master
rehh = reset --hard HEAD pbuc = "!git pull --rebase upstream $(git bc)"
remh = reset --mixed HEAD
resh = reset --soft HEAD # Rebase
rehom = reset --hard origin/master rb = rebase
############# rba = rebase --abort
r = remote rbc = rebase --continue
ra = remote add rbi = rebase --interactive
rr = remote rm rbs = rebase --skip
rv = remote -v
rn = remote rename # Reset
rp = remote prune re = reset
rs = remote show rh = reset HEAD
rao = remote add origin reh = reset --hard
rau = remote add upstream rem = reset --mixed
rro = remote remove origin res = reset --soft
rru = remote remove upstream rehh = reset --hard HEAD
rso = remote show origin remh = reset --mixed HEAD
rsu = remote show upstream resh = reset --soft HEAD
rpo = remote prune origin rehom = reset --hard origin/master
rpu = remote prune upstream
############# # Remote
rmf = rm -f r = remote
rmrf = rm -r -f ra = remote add
############# rr = remote rm
s = status rv = remote -v
sb = status -s -b rn = remote rename
############# rp = remote prune
sa = stash apply rs = remote show
sc = stash clear rao = remote add origin
sd = stash drop rau = remote add upstream
sl = stash list rro = remote remove origin
sp = stash pop rru = remote remove upstream
ss = stash save rso = remote show origin
ssk = stash save -k rsu = remote show upstream
sw = stash show rpo = remote prune origin
st = !git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*' rpu = remote prune upstream
#############
t = tag # Remove
td = tag -d rmf = rm -f
############# rmrf = rm -r -f
w = show
wp = show -p # Status
wr = show -p --no-color s = status
############# sb = status -s -b
svnr = svn rebase
svnd = svn dcommit # Stash
svnl = svn log --oneline --show-commit sa = stash apply
############# sc = stash clear
subadd = !sh -c 'git submodule add git://github.com/$1 $2/$(basename $1)' - sd = stash drop
subrm = !sh -c 'git submodule deinit -f -- $1 && rm -rf .git/modules/$1 && git rm -f $1' - sl = stash list
subup = submodule update --init --recursive sp = stash pop
subpull = !git submodule foreach git pull --tags -f origin master ss = stash save
############# ssk = stash save -k
assume = update-index --assume-unchanged sw = stash show
unassume = update-index --no-assume-unchanged st = "!git stash list | wc -l 2>/dev/null | grep -oEi '[0-9][0-9]*'"
assumed = !git ls -v | grep ^h | cut -c 3-
unassumeall = !git assumed | xargs git unassume # Tag
assumeall = !git status -s | awk {'print $2'} | xargs git assume t = tag
############# td = tag -d
bump = !sh -c 'git commit -am \"Version bump v$1\" && git psuoc && git release $1' -
release = !sh -c 'git tag v$1 && git pst' - # Show
unrelease = !sh -c 'git tag -d v$1 && git pso :v$1' - w = show
merged = !sh -c 'git o master && git plom && git bd $1 && git rpo' - wp = show -p
aliases = !git config -l | grep alias | cut -c 7- wr = show -p --no-color
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' - # SVN (if used)
whois = !sh -c 'git log -i -1 --author=\"$1\" --pretty=\"format:%an <%ae>\"' - svnr = svn rebase
serve = daemon --reuseaddr --verbose --base-path=. --export-all ./.git svnd = svn dcommit
############# svnl = svn log --oneline --show-commit
behind = !git rev-list --left-only --count $(git bu)...HEAD
ahead = !git rev-list --right-only --count $(git bu)...HEAD # Submodules
############# subadd = "!sh -c 'git submodule add git://github.com/$1 $2/$(basename $1)' -"
ours = "!f() { git checkout --ours $@ && git add $@; }; f" subrm = "!sh -c 'git submodule deinit -f -- $1 && rm -rf .git/modules/$1 && git rm -f $1' -"
theirs = "!f() { git checkout --theirs $@ && git add $@; }; f" subup = submodule update --init --recursive
subrepo = !sh -c 'git filter-branch --prune-empty --subdirectory-filter $1 master' - subpull = "!git submodule foreach git pull --tags -f origin master"
human = name-rev --name-only --refs=refs/heads/*
# Assume untracked
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"
# Releases / versioning
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' -"
# Utilities
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/*"
# -----------------------------------------------------------------------------
# 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