.gitconfig 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. [merge]
  25. tool = vscode
  26. [mergetool "vscode"]
  27. cmd = code --wait --diff $LOCAL $REMOTE
  28. [diff]
  29. tool = vscode
  30. [difftool "vscode"]
  31. cmd = code --wait --diff $LOCAL $REMOTE
  32. [alias]
  33. p = push
  34. pp = publish
  35. rb = pull --rebase
  36. rbc = rebase --continue
  37. rba = rebase --abort
  38. fancy-log = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(cyan)<%an>%Creset' --abbrev-commit --date=relative
  39. branches = 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
  40. edit-conflicted = ! git diff --name-only | uniq | xargs $(echo $EDITOR)
  41. history = log -p --
  42. pushf = push --force-with-lease
  43. pullall = ! git pull && git submodule update --init --recursive --remote
  44. publish = ! git push -u origin `git rev-parse --abbrev-ref HEAD`
  45. diverged = ! git log --graph --date=relative --oneline `git rev-parse --abbrev-ref HEAD` origin/`git rev-parse --abbrev-ref HEAD`
  46. fixup = "!f() { TARGET=$(git rev-parse "$1"); git commit --fixup=$TARGET ${@:2} && EDITOR=true git rebase -i --autostash --autosquash $TARGET^; }; f"
  47. last = rev-list -1 HEAD
  48. [core]
  49. excludesfile = /Users/tom/.gitignore_global
  50. whitespace = tab-in-indent,trailing-space,space-before-tab
  51. ignorecase = false
  52. editor = vim -c 'startinsert'
  53. [merge]
  54. tool = code
  55. # conflictstyle = diff3
  56. [push]
  57. default = upstream
  58. [status]
  59. submoduleSummary = true
  60. [merge "npm-merge-driver"]
  61. name = automatically merge npm lockfiles
  62. driver = npx npm-merge-driver merge %A %O %B %P
  63. # [pull]
  64. # rebase = preserve
  65. [pull]
  66. ff = only
  67. [advice]
  68. detachedHead = false
  69. [filter "lfs"]
  70. clean = git-lfs clean -- %f
  71. smudge = git-lfs smudge -- %f
  72. process = git-lfs filter-process
  73. required = true