##############################################################################
## GIT ###
##############################################################################
[user]
name = Todd Thomas
email = todd.dsm@gmail.com
[core]
editor = vim
pager = cat
excludesfile = ~/.gitignore
[color]
ui = true
[push]
default = matching
[alias]
# print log in reverse
rlog = log --reverse
# review the last 20 commits
review = "!git rlog -20 --pretty=format:'%h %an %s (%cd)'"
# find the latest branch
lbranch = "branch -a --sort=-committerdate --format='%(committerdate:short) %(refname:short)'"
[pull]
rebase = false
[push]
# Push current branch to remote branch with same name
default = current
# Automatically set up tracking on first push
autoSetupRemote = true
[fetch]
# Automatically delete local refs to remote branches that were deleted
prune = true
[merge]
# Show original code in merge conflicts (base, ours, theirs)
conflictstyle = diff3
[rerere]
# Remember how you resolved conflicts and auto-apply next time
enabled = true
[branch]
# Sort branches by most recently used
sort = -committerdate
[init]
# Use 'main' as default branch name for new repos
defaultBranch = main
[diff]
# Better diff algorithm for cleaner diffs
algorithm = histogram
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true