[init]
  defaultBranch = main
  templatedir = ~/.git_template

[push]
  default = current

[color]
  ui = auto

[alias]
  aa = add --all
  ap = add --patch
  branches = for-each-ref --sort=-committerdate --format=\"%(color:blue)%(authordate:relative)\t%(color:red)%(authorname)\t%(color:white)%(color:bold)%(refname:short)\" refs/remotes
  ci = commit -v
  co = checkout
  pf = push --force-with-lease
  st = status
  br = branch
  last = log -1 HEAD
  cl = clone
  cleanup = "!git branch --merged | rg -v \"(\\*|master|main|dev|develop)\" | xargs -r git branch -d"
  history = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
  ignore = update-index --assume-unchanged
  unignore = update-index --no-assume-unchanged
  ls-ignores = "!git ls-files -v | rg "^h" | cut -f2 -d' '"

[user]
  email = {{email}}
  name = {{name}}
  signingkey = {{signing_key}}

[url "git@github.com:"]
  insteadOf = https://github.com

[core]
  excludesfile = ~/.gitignore
  pager = delta

[fetch]
  prune = true

[rebase]
  autosquash = true

[diff]
  colorMoved = zebra

[commit]
  gpgSign = true

[sequence]
  editor = interactive-rebase-tool

[interactive]
  diffFilter = delta --color-only

[delta]
  navigate = true
  light = false
  line-numbers = true
  side-by-side = true

[merge]
  conflictstyle = diff3

[diff]
  colorMoved = default

[credential]
  helper = store