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

101 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Set my name, but require me to set the email address manually for each
# repo. This should hopefully solve the cases where Im committing (and
# pushing) from the wrong address for days.
# See <> for rationale.
name = Tim Weber
useConfigOnly = true
signingKey = 144FEA6B3FF0F6EFD035963B38ACA93052B3EB9A
# Name the default branch "main", not "master". #BlackLivesMatter
defaultBranch = main
singlekey = true
# Automatically apply "squash!", "fixup!" etc. actions on rebase -i.
autoSquash = true
a = add
al = aliases # not a Git builtin; `aliases` is my `bin/git-alias`.
ap = add --patch
c = commit
ca = commit --all
cam = commit --amend
caam = commit --all --amend
cl = clone --recurse-submodules
co = checkout
cob = checkout -b
cop = checkout --patch
cS = commit --no-gpg-sign
d = diff
ds = diff --staged
f = fetch
ig = edit-ignore # not a Git builtin either
l = log
lp = log --patch
ls = log --stat
nx = annex
nxa = annex add
p = push
rb = rebase
rbc = rebase --continue
rbi = rebase --interactive
s = status
# Needs to be a shell alias (!git) in order to expand $HOME :(
sshpushes = !git config --file $HOME/.gitconfig-local url.ssh://
st = stash
stp = stash pop
u = pull
ur = pull --rebase --autostash
# Disable commit signing for a single repository.
nosign = config commit.gpgSign false
# Email addresses (private and business).
scy = config
tw = config
# `git pull` should use `rebase` instead of doing a merge commit.
# This only makes sense if nobody else is working on top of your history
# before you've pushed it to the same repo you're pulling from.
# `rebase = merges` would probably be an even better setting, but requires
# Git ≥ 2.18, which is too new for Debian stretch. ¯\_(ツ)_/¯
rebase = preserve
# Store HTTPS credentials unencrypted on disk, only protected by file system
# permissions. The rationale is: All disks I use to access private Git repos
# or to push somewhere should be encrypted anyway, and if the machine is
# compromised, all hope is lost anyway. This is the simplest and most cross-
# platform solution.
helper = store
# By default, sign all of my commits with GnuPG.
gpgSign = true
wsErrorHighlight = all
# When pushing to Codeberg, use SSH instead of HTTPS.
[url "ssh://"]
pushInsteadOf =
# Same for GitLab.
[url "ssh://"]
pushInsteadOf =
# Git-LFS filter definition.
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
# Use an additional, host-specific Git config (if it exists).
path = ~/.gitconfig-local