# SCRIPT NAME:
# .config/git/config
#
# AUTHOR:
# Severin Kaderli <severin@kaderli.dev>
#
# DESCRIPTION:
# This is my configuration for Git.
#
# USAGE:
# This file is automatically used by Git.

[user]
	email = severin@kaderli.dev
	name = Severin Kaderli
	signingkey = F419F8835B72F0C4

[alias]
	# Display the history of the latest 20 commits
	l = log --pretty=oneline -n 20 --graph --abbrev-commit

	# Update submodules when pulling
	pl = !git pull && git submodule update --remote --merge

	# Shortcut for status
	s = status

	# Add all files
	a = add --all

	# Create a commit and sign it off
	c = commit -s -S

	# Push to the master branch of the origin remote
	p = push --follow-tags
	
	# Tag the latest commit
	t = !sh -c 'git tag -a $1 -m $1' -

	# Shortcut for diff
	d = diff

[color]
	# Activate color use in git commands
	ui = auto

[core]
	editor = vim

[push]
	default = upstream

[url "git@gitlab.com:severinkaderli/"]
	insteadOf = gl:

[filter "lfs"]
	clean = git-lfs clean -- %f
	smudge = git-lfs smudge -- %f
	process = git-lfs filter-process
	required = true

[credential]
	helper = cache --timeout 7200
