You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
3.6 KiB

# me
[user]
email = alpha@kejadlen.dev
name = Alpha Chen
signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINCttH8nEfk1uZ2291P4mbCoNcHxnr9iNBlbZckykeZ8
# remotes
[fetch]
prune = true
[pull]
rebase = true
[push]
default = current
followTags = true
recurseSubmodules = on-demand
autoSetupRemote = true
[url "git@github.com:"]
insteadof = https://github.com/
[url "git@git.kejadlen.dev:"]
insteadof = https://git.kejadlen.dev/
[transfer]
fsckobjects = true
# ui
[color]
ui = auto
diff = true
[column]
ui = auto
[core]
autocrlf = false
safecrlf = true
quotepath = false
sparecheckout = true
editor = nvim
fsmonitor = true
[alias]
g = grep --break --heading --line-number
standup = !git log --all --date=short --no-merges --pretty=format:\"%h %ad %s%d\" --since=1.weeks --author=`git config user.email`
lol = log --graph --decorate --pretty=oneline --abbrev-commit
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
s = status --short --branch
latest = for-each-ref --count=10 --sort=-committerdate --format='%(committerdate:relative) %(refname:short)'
root = !pwd
push-f = push --force-with-lease
stsh = stash --keep-index --include-untracked
staash = stash --include-untracked
fix = commit --fixup @
ctags = !.git/hooks/ctags
lg = log --date=format:'%a %b %e, %Y' --pretty=format:'%C(yellow)%h%C(reset) %s %C(cyan)%cd%C(reset) %C(blue)%an%C(reset) %C(green)%d%C(reset)' --graph ; https://roadrunnertwice.dreamwidth.org/596185.html
[grep]
extendRegexp = true
lineNumber = true
[apply]
whitespace = warn
[init]
templatedir = ~/.git_templates
defaultBranch = main
[tag]
sort = version:refname
[rebase]
autoStash = true
autoSquash = true
stat = true
updateRefs = true
[interactive]
singlekey = true
diffFilter = delta --color-only --features=interactive
[submodule]
fetchJobs = 4
recurse = true
[commit]
verbose = true
gpgsign = true
[filter "alfredworkflow"]
clean = alfredworkflow.clean
[filter "dash-prefs"]
clean = clean-dash-prefs
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
[advice]
addEmptyPathspec = false
[rerere]
enabled = true
autoUpdate = true
[branch]
autoSetupMerge = simple
sort = -committerdate
[log]
follow = true
date = iso
[status]
submoduleSummary = true
# diff things
[diff]
algorithm = histogram
external = difft
; compactionHeuristic = true
indentHeuristic = true
colorMoved = default
submodule = log
renames = copy
[difftool]
prompt = false
[difftool "sourcetree"]
cmd = opendiff \"$LOCAL\" \"$REMOTE\"
[difftool "kaleidoscope"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[difftool "icdiff"]
cmd = icdiff --line-numbers --no-bold \"$LOCAL\" \"$REMOTE\"
[difftool "difftastic"]
cmd = difft "$LOCAL" "$REMOTE"
[delta]
features = decorations
navigate = true
line-numbers = true
side-by-side = true
line-numbers-right-format = "│ "
[delta "decorations"]
hunk-header-style = omit
# merging
[merge]
conflictstyle = zdiff3
ff = false
tool = vimdiff
[mergetool]
keepBackup = false
[mergetool "vimdiff"]
path = nvim
[mergetool "sourcetree"]
cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\"
trustExitCode = true
[mergetool "kaleidoscope"]
cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
trustExitCode = true
# signing commits with 1Password
[gpg]
format = ssh
[gpg "ssh"]
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
[include]
path = ~/.gitconfig.local