Last active
September 15, 2024 00:51
-
-
Save kirkegaard/3d917454be7a09bcd7c586594ad4dc53 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[user] | |
name = Christian Kirkegaard | |
email = [email protected] | |
signingkey = /Users/christian/.ssh/id_rsa.pub | |
[github] | |
user = kirkegaard | |
[hub] | |
protocol = https | |
[credential] | |
helper = osxkeychain | |
[gpg] | |
format = ssh | |
[commit] | |
gpgsign = true | |
[merge] | |
# Include summaries of merged commits in newly created merge commit messages | |
log = true | |
tool = vimdiff | |
conflictstyle = diff3 | |
[alias] | |
# View the SHA, description, and history graph of the latest 20 commits | |
l = log --pretty=oneline -n 20 --graph | |
# View the current working tree status using the short format | |
s = status -s | |
# Show the diff between the latest commit and the current state | |
d = !"git diff-index --quiet HEAD -- || clear; git diff --patch-with-stat" | |
# `git di $number` shows the diff between the state `$number` revisions ago and the current state | |
di = !"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d" | |
# Pull in remote changes for the current repository and all its submodules | |
p = !"git pull; git submodule foreach git pull origin master" | |
# Clone a repository including all submodules | |
c = clone --recursive | |
# Commit all changes | |
ca = !git add -A && git commit -av | |
# Switch to a branch, creating it if necessary | |
go = checkout -B | |
# Show verbose output about tags, branches or remotes | |
tags = tag -l | |
branches = branch -a | |
remotes = remote -v | |
# Credit an author on the latest commit | |
credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f" | |
# Interactive rebase with the given number of latest commits | |
reb = "!r() { git rebase -i HEAD~$1; }; r" | |
st = status | |
br = branch | |
ci = commit | |
co = checkout | |
df = diff | |
lg = log --oneline --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit | |
pp = !git pull && git push | |
pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master" | |
this = !git init && git add . && git commit -m \"initial commit\" | |
undo = "!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f" | |
du = !"git rev-list --objects --all | git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' | sed -n 's/^blob //p' | sort --numeric-sort --key=2 | cut -c 1-12,41- | $(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest" | |
stash-untracked = "!f() { \ | |
git stash; \ | |
git stash -u; \ | |
git stash pop stash@{1}; \ | |
}; f" | |
[apply] | |
# Detect whitespace errors when applying a patch | |
whitespace = fix | |
[core] | |
# Use custom `.gitignore` and `.gitattributes` | |
excludesfile = ~/.gitignore | |
attributesfile = ~/.gitattributes | |
# Treat spaces before tabs, lines that are indented with 8 or more spaces, and all kinds of trailing whitespace as an error | |
whitespace = space-before-tab,indent-with-non-tab,trailing-space | |
editor = vim | |
longpaths = true | |
precomposeunicode = false | |
ignorecase = false | |
[color] | |
ui = auto | |
[color "branch"] | |
current = yellow reverse | |
local = yellow | |
remote = green | |
[color "diff"] | |
meta = yellow bold | |
frag = magenta bold | |
old = red bold | |
new = green bold | |
whitespace = red reverse | |
[color "status"] | |
added = yellow | |
changed = green | |
untracked = cyan | |
[difftool] | |
prompt = false | |
[mergetool] | |
prompt = false | |
[filter "lfs"] | |
clean = git-lfs clean -- %f | |
smudge = git-lfs smudge -- %f | |
process = git-lfs filter-process | |
required = true | |
[init] | |
defaultBranch = main | |
# Use `origin` as the default remote on the `master` branch in all cases | |
[branch "master"] | |
remote = origin | |
merge = refs/heads/master | |
# URL shorthands | |
[url "https://github.com"] | |
insteadOf = git://github.com | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment