Skip to content

Instantly share code, notes, and snippets.

@edombowsky
Created August 22, 2025 02:15
Show Gist options
  • Select an option

  • Save edombowsky/eb28c0f47095684a90613a8b51717e82 to your computer and use it in GitHub Desktop.

Select an option

Save edombowsky/eb28c0f47095684a90613a8b51717e82 to your computer and use it in GitHub Desktop.
# Many of these settings were recommendations from
# https://jvns.ca/blog/2024/02/16/popular-git-config-options/#rebase-autosquash-true
[user]
name = <user-name-for-commits>
email = <users-email-address>
[credential]
helper = manager
[init]
defaultBranch = main
[core]
editor = micro
autocrlf = false
# Tell Git which whitespace problems it should recognize, namely any
# whitespace at the end of a line, as well as mixed spaces and tabs:
whitespace = trailing-space,space-before-tab
pager = delta
[init]
defaultBranch = main
[pager]
# pre-seed less pager with a search pattern, so you can move between files with n/N keys:
diff = delta
log = delta
reflog = delta
show = delta
[delta]
# plus-style = "syntax #012800"
# minus-style = "syntax #340001"
plus-style = syntax "#003800"
minus-style = syntax "#3f0001"
# syntax-theme = Monokai Extended
syntax-theme = Dracula
navigate = true # use n and N to move between diff sections
features = unobtrusive-line-numbers decorations side-by-side
whitespace-error-style = 22 reverse
[delta "unobtrusive-line-numbers"]
line-numbers = true
line-numbers-minus-style = "#444444"
line-numbers-zero-style = "#444444"
line-numbers-plus-style = "#444444"
line-numbers-left-format = "{nm:>4} ┊"
line-numbers-right-format = "{np:>4} │"
line-numbers-left-style = blue
line-numbers-right-style = blue
line-numbers-minus-style = 124
line-numbers-plus-style = 28
[delta "decorations"]
commit-decoration-style = bold yellow box ul
file-style = bold yellow ul
file-decoration-style = none
# hunk-header-decoration-style = yellow box
hunk-header-decoration-style = cyan box ul
[interactive]
diffFilter = delta --color-only
[branch]
# When branching off a remote branch, automatically let the local branch
# track the remote branch:
autosetupmerge = true
[rerere]
# Enable the recording of resolved conflicts, so that identical hunks
# can be resolved automatically later on.
enabled = true
autoupdate = 1 # so that your index is also updated
[fetch]
prune = true # Always automatically delete remote tracking branches that have been deleted
prunetags = true
recurseSubmodules = true # Sync a repository with its submodules
fsckobjects = true # avoid data corruption
[push]
default = simple
[merge]
conflictstyle = zdiff3
tool = bc
[diff]
conflictstyle = zdiff3
tool = bc
algorithm = histogram
[alias]
# --------------------------------------------------------------------------
# stash
# --------------------------------------------------------------------------
sa = stash apply
sc = stash clear
sd = stash drop
sl = stash list
sp = stash pop
ss = stash save
sw = stash show
sshow = "!f() { git stash show stash^{/$*} -p; }; f"
# --------------------------------------------------------------------------
# status
# --------------------------------------------------------------------------
s = status
st = status
stat = status
sh = status -s
# --------------------------------------------------------------------------
# verbose output about tags, branches or remotes
# --------------------------------------------------------------------------
branches = branch -a
remotes = remote -v
# --------------------------------------------------------------------------
# diff
# --------------------------------------------------------------------------
dt = difftool
fpush = push
# --------------------------------------------------------------------------
# misc
# --------------------------------------------------------------------------
rh = reset HEAD
aa = add -A
pr = pull --rebase
amend = commit -a --amend --no-edit
ciam = commit -a --amend --no-edit
[column]
ui = auto
[branch]
sort = -committerdate
[difftool "bc"]
path = c:/Program Files/Beyond Compare 5/bcomp.exe
[mergetool "bc"]
path = c:/Program Files/Beyond Compare 5/bcomp.exe
[receive]
fsckObjects = = true # avoid data corruption
[transfer]
fsckobjects = true # avoid data corruption
[rebase]
autosquash = true # make it easier to modify old commits.
# If you accidentally clone the HTTP version of a repository
# instead of the SSH version and then have to manually go
# into ~/.git/config and edit the remote URL. This seems
# like a nice workaround: it’ll replace https://github.com
# in remotes with git@github.com:. se pushInsteadOf to only
# do the replacement for git push because so you don’t have
# to unlock your SSH key when pulling a public repo.
[url "git@github.com:"]
pushInsteadOf = "https://github.com/"
[credential "helperselector"]
selected = manager
[filter "lfs"]
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment