1
0
Fork 0
This commit is contained in:
Lukas Wurzinger 2025-03-25 18:48:52 +01:00
parent 92f097cb82
commit 64596a073c
No known key found for this signature in database
13 changed files with 192 additions and 404 deletions

View file

@ -1,12 +1,123 @@
[user]
name = Lukas Wurzinger
email = lukas@wrz.one
signingkey = ~/.ssh/id_ed25519.pub
# Error when the user has not explicitly been configured
useConfigOnly = true
[core]
# Global gitignore
excludesFile = ~/.config/git/ignore
# Don't paginate output by default
pager = cat
# Use Codium as default editor
editor = codium --wait
# Don't consider trailing space change as a cause for merge conflicts
whitespace = -trailing-space
[init]
defaultBranch = main
[gpg]
# Use SSH keys for signing
format = ssh
[commit]
# Sign commits
gpgsign = true
[push]
# Avoid having to manually set up remote branches
autoSetupRemote = true
[help]
# Only display suggestions
autoCorrect = 0
[color]
# Pretty
ui = auto
[diff]
# Use better, descriptive initials (c, i, w) instead of a/b.
mnemonicPrefix = true
# Show renames/moves as such
renames = true
# When using --word-diff, assume --word-diff-regex=.
wordRegex = .
# Display submodule-related information (commit listings)
submodule = log
# Use VSCode as default diff tool when running `git difftool`
tool = codium
[difftool]
prompt = false
[difftool "codium"]
cmd = codium --wait --diff -- "$LOCAL" "$REMOTE"
[fetch]
# Auto-fetch submodule changes (won't auto-update)
recurseSubmodules = on-demand
[grep]
break = true
heading = true
lineNumber = true
# Consider most regexes to be ERE
extendedRegexp = true
[log]
# Use abbrev SHAs whenever possible/relevant instead of full 40 chars
abbrevCommit = true
# Automatically --follow when given a single path
follow = true
[merge]
# Display common-ancestor blocks in conflict hunks
conflictStyle = diff3
# Disable fast-forward merges as default merge strategy
ff = false
[mergetool]
# Clean up backup files created by merge tools on tool exit
keepBackup = false
# Clean up temp files created by merge tools on tool exit
keepTemporaries = false
# Put the temp files in a dedicated dir anyway
writeToTemp = true
# Auto-accept file prompts when launching merge tools
prompt = false
[push]
# Default push should only push the current branch to its push target, regardless of its remote name
default = upstream
# When pushing, also push tags whose commit-ishs are now reachable upstream
followTags = true
[rebase]
# Automatically stash CWD and stage when running rebase
autoStash = true
[status]
# Display submodule rev change summaries in status
submoduleSummary = true
# Recursively traverse untracked directories to display all contents
showUntrackedFiles = all
[tag]
# Sort tags as version numbers whenever applicable
sort = version:refname
[alias]
# List available aliases
aliases = !git config --get-regexp '^alias\\.' | sed -E 's/^alias\\.//'
# Command shortcuts
ci = commit
co = checkout
st = status
sw = switch
rs = restore
# Update last commit with staged files without editing the commit message
oops = commit --amend --no-edit
# Ensure that force-pushing won't lose someone else's work (only mine)
push-with-lease = push --force-with-lease
# Replay each commit during rebase with the standard commit command which will trigger hooks
rebase-with-hooks = rebase --exec 'git reset --soft HEAD~1 && git commit -C HEAD@{1}'
# Review commit log
review = log --graph
# List local commits that were not pushed to remote repository
log-local = log @{push}..
review-local = review @{push}..
# Edit last commit message
reword = commit --amend
# Undo last commit but keep changed files in stage
uncommit = reset --soft HEAD~1
# Remove file(s) from Git but not from disk
untrack = rm --cached --
[includeIf "gitdir:~/Personal/"]
path = config-personal
[includeIf "gitdir:~/Work/"]
path = config-work
[include]
path = config-local

View file

@ -0,0 +1,4 @@
[user]
name = Lukas Wurzinger
email = lukas@wrz.one
signingkey = ~/.ssh/id_ed25519.pub

View file

@ -47,5 +47,9 @@ zig-cache/
zig-out/
.devenv*
devenv.local.nix
.direnv/
.devenv/
.pre-commit-config.yaml