[user]
  email         = marty.oehme@gmail.com
  name          = Marty Oehme
  signingkey    = B7538B8F50A1C800
[filter "lfs"]
  clean         = git-lfs clean -- %f
  smudge        = git-lfs smudge -- %f
  process       = git-lfs filter-process
  required      = true
[alias]
  ignore        = "!gitignore -f"
  pushmerge     = "push -o merge_request.merge_when_pipeline_succeeds" # see https://docs.gitlab.com/ce/user/project/push_options.html#merge-when-pipeline-succeeds-alias
  last          = "diff HEAD~ HEAD"
[commit]
  # sign commits as me
  gpgsign       = true
  # Always show diff when preparing commit message
  verbose       = true
[fetch]
  # remove references to non-existent remote branches
  prune         = true
[pull]
  rebase        = true # always rebase on pulling, obviates merge commits
[diff]
  colorMoved    = zebra # also color stuff that has simply been moved, in a classy zebra-color
[pager]
  diff          = dsf | less --tabs=4 -RFXS --pattern '(^(Date|added|deleted|modified): |^diff --git )'
[color.diff]
  meta          = "9"
  frag          = "magenta bold"
  commit        = "yellow bold"
  old           = "red bold"
  new           = "green bold"
  whitespace    = "red reverse"
[color.diff-highlight]
  oldNormal     = "red bold"
  oldHighlight  = "red bold 52"
  newNormal     = "green bold"
  newHighlight  = "green bold 22"
[rebase]
  autostash     = true
  autoSquash    = true
# Make use of git urls for git{lab,hub}, but only do so for pushing
# since pulling will create troubles with some applications
[url "git@github.com:"]
  pushInsteadOf = "https://github.com/"
  pushInsteadOf = "http://github.com/"
  pushInsteadOf = "gh:"
[url "git@gitlab.com:"]
  pushInsteadOf = "https://gitlab.com"
  pushInsteadOf = "http://gitlab.com"