.gitconfig 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. [user]
  2. email = tom@chillidonut.com
  3. name = Tom McKenzie
  4. signingkey = 896D4BE5
  5. [color]
  6. branch = auto
  7. diff = auto
  8. status = auto
  9. [color "branch"]
  10. current = yellow reverse
  11. local = yellow
  12. remote = green
  13. [color "diff"]
  14. meta = yellow bold
  15. frag = magenta bold
  16. old = red
  17. new = cyan
  18. [color "status"]
  19. added = yellow
  20. changed = green
  21. untracked = cyan
  22. [help]
  23. autocorrect = 10
  24. [alias]
  25. p = push
  26. pp = publish
  27. s = switch
  28. sc = switch create
  29. rb = pull --rebase
  30. rbc = rebase --continue
  31. rba = rebase --abort
  32. l = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(cyan)<%an>%Creset' --abbrev-commit --date=relative
  33. b = for-each-ref --count=10 --sort='-authordate:iso8601' --format=' %(color:green)%(authordate:relative) %09%(color:white)%(objectname:short) %(color:yellow)%(refname:short) %09%(color:white)%(upstream:track) %(contents:subject)' refs/heads --no-merged
  34. edit-conflicted = ! git diff --name-only | uniq | xargs $(echo $EDITOR)
  35. history = log -p --
  36. pushf = push --force-with-lease
  37. pullall = ! git pull && git submodule update --init --recursive --remote
  38. publish = ! git push -u origin `git rev-parse --abbrev-ref HEAD`
  39. diverged = ! git log --graph --date=relative --oneline `git rev-parse --abbrev-ref HEAD` origin/`git rev-parse --abbrev-ref HEAD`
  40. fixup = "!f() { TARGET=$(git rev-parse "$1"); git commit --fixup=$TARGET ${@:2} && EDITOR=true git rebase -i --autostash --autosquash $TARGET^; }; f"
  41. last = rev-list -1 HEAD
  42. [core]
  43. excludesfile = /Users/tom/dotfiles/.gitignore_global
  44. whitespace = tab-in-indent,trailing-space,space-before-tab
  45. ignorecase = false
  46. pager = delta
  47. [push]
  48. default = upstream
  49. [status]
  50. submoduleSummary = true
  51. [merge "npm-merge-driver"]
  52. name = automatically merge npm lockfiles
  53. driver = npx npm-merge-driver merge %A %O %B %P
  54. [pull]
  55. ff = only
  56. [advice]
  57. detachedHead = false
  58. [filter "lfs"]
  59. clean = git-lfs clean -- %f
  60. smudge = git-lfs smudge -- %f
  61. process = git-lfs filter-process
  62. required = true
  63. [include]
  64. path = ~/dotfiles/.gitconfig_difftastic
  65. condition = command -v difft >/dev/null 2>&1
  66. [interactive]
  67. diffFilter = delta --color-only
  68. [delta]
  69. features = decorations
  70. navigate = true
  71. line-numbers = true
  72. hyperlinks = true
  73. [delta "decorations"]
  74. ; commit-decoration-style = bold yellow box ul
  75. ; file-style = bold yellow ul
  76. file-decoration-style = bold
  77. hunk-header-decoration-style = bold
  78. [merge]
  79. conflictStyle = zdiff3
  80. [credential "https://github.com"]
  81. helper =
  82. helper = !/opt/homebrew/bin/gh auth git-credential
  83. [credential "https://gist.github.com"]
  84. helper =
  85. helper = !/opt/homebrew/bin/gh auth git-credential