dotfiles/gitconfig

109 lines
4.6 KiB
Plaintext

[include]
path = ~/.gitconfig.private
[init]
defaultBranch = master
[merge]
summary = true
tool = vimdiff
[core]
excludesfile = ~/.gitignore.global
hookspath = ~/.git_hooks
preloadindex = true
fscache = true
editor = vim
# I used to have this set to true, which would result in checked out files
# being converted to CRLF line endings and commits converting to LF. I'm
# tired of this conversion shit though so I'm turning it off and will be
# enforcing LF line endings via a combination of editorconfig and
# gitattribute files on a per-project basis. This should make sure that
# anyone contributing to my projects will be committing LF line endings.
# The only exception is that the gitattributes files will commit batch
# files with CRLF to avoid Windows glitches.
#
# I used these posts for reference:
# https://markentier.tech/posts/2021/10/autocrlf-true-considered-harmful/
# https://troyready.com/blog/git-windows-dont-convert-line-endings.html
#
autocrlf = false
[push]
default = upstream
[pull]
# Use new merge-ort strategy.
twohead = ort
# rebase when pulling instead of doing a default merge.
rebase = true
[fetch]
# Run 'git remote prune' after fetching.
prune = true
[diff]
algorithm = patience
[color]
diff = auto
status = auto
branch = auto
interactive = auto
ui = true
pager = true
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = blue
frag = magenta
old = red
new = green
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
required = true
process = git-lfs filter-process
[alias]
start = !git init && git commit --allow-empty -m \"Initial commit\"
####################
# Logging
####################
# Note: There are two timestamp values in the log. The first (%ad) is the author's timestamp
# and the second (%ci, %cs, %cr, etc) is the committer's timestamp. This lets you see the
# original commit date and the last time the commit sha changed from a history modification
# operation, e.g. modifying a commit in a rebase.
# Note: If you want a grey that's slightly darker than %C(white dim) then try `%C(black bold)`.
# Preferred style:
# * Good for history with merge commits.
# * Dates are YYYY-MM-DD format.
# * Can also use: --date=relative and replace %ci with %cr
# --date=iso and replace %ci with %ci
lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset%C(yellow dim)%an %Creset%C(yellow bold)| %Creset%C(white bold)%s %C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
# Good for flat history:
# lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset%C(yellow dim)%an %Creset%C(yellow bold)| %Creset%C(white bold)%<(78,trunc)%s %C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
# Alternative styles:
# name | msg
#lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset%an %C(white dim)| %Creset%C(white bold)%s %Creset%C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
#lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset%an %C(yellow bold)| %Creset%C(white bold)%s %Creset%C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
# name > msg
#lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset%an %C(yellow bold)>%Creset %C(white bold)%s %Creset%C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
#lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %C(white dim)%an %Creset%C(yellow bold)> %Creset%C(white bold)%s %Creset%C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
#lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset%C(yellow dim)%an %Creset%C(yellow bold)> %Creset%C(white bold)%s %Creset%C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
# <name> msg
#lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset<%an> %Creset%C(white bold)%s %Creset%C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
# [name] msg
#lg = log --graph --date=short --pretty=format:'%C(yellow bold)%h %Creset%C(white dim)[%Creset%an%Creset%C(white dim)] %Creset%C(white bold)%s %C(white dim)[%ad|%cs] %Creset%C(yellow bold)%D %Creset%C(cyan bold)%<(10,trunc)%GK%Creset'
[rerere]
enabled = true
[gc]
auto = 0
[advice]
detachedHead = false