config 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. [user]
  2. name = Thomas Dy
  3. email = thatsmydoing@gmail.com
  4. [merge]
  5. conflictstyle = diff3
  6. [core]
  7. autocrlf = input
  8. hooksPath = ~/.config/git/hooks
  9. untrackedcache = true
  10. [delta]
  11. features = side-by-side line-numbers decorations
  12. whitespace-error-style = 22 reverse
  13. [delta "decorations"]
  14. commit-decoration-style = bold yellow box ul
  15. file-style = bold yellow ul
  16. file-decoration-style = none
  17. [color]
  18. ui = true
  19. [diff]
  20. algorithm = patience
  21. [difftool]
  22. prompt = false
  23. [difftool "difft"]
  24. cmd = difft "$LOCAL" "$REMOTE"
  25. [push]
  26. default = current
  27. [branch]
  28. # we use a hook to set this up instead
  29. autoSetupMerge = false
  30. [remote]
  31. pushDefault = origin
  32. [alias]
  33. root = !pwd
  34. lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit"
  35. p = push
  36. pf = push --force-with-lease
  37. # history fast-forward (to push)
  38. hff = merge --ff-only @{push}
  39. # history reset hard (to push)
  40. hrh = reset --hard @{push}
  41. # head's history fast-forward (works even if a different branch is checked out)
  42. hhff = "!git push . $(git head)@{upstream}:$(git head)"
  43. # head's history reset hard
  44. hhrh = hhff --force
  45. # rebase upstream
  46. ru = rebase @{upstream}
  47. # rebase interactive upstream
  48. riu = rebase -i @{upstream}
  49. # rebase interactive autosquash upstream
  50. riau = rebase -i --autosquash @{upstream}
  51. ca = commit --amend
  52. smash = "!git add -u && git ca --no-edit && git pf"
  53. reset-head = remote set-head origin -a
  54. head = for-each-ref --format="%(symref:lstrip=-1)" refs/remotes/origin/HEAD
  55. sh = "!git switch $(git head)"