terminal:shell:gitconfig
Table of Contents
gitconfig
File: ~/.gitconfig
Identity
[user] name = Brennan Brown email = mail@brennanbrown.ca
Core
[core] editor = micro pager = bat --style=changes # bat shows git diff markers autocrlf = input # normalise line endings on commit quotePath = false # don't escape Unicode in paths fileMode = false # ignore chmod changes
Aliases
| Alias | Expands to | Purpose |
|---|---|---|
st | status | |
co | checkout | |
ci | commit | |
br | branch | |
s | status -sb | short + branch name |
d | diff | |
ds | diff –staged | staged diff |
l | log –oneline | |
ll | log –oneline –graph –decorate | |
lg | log –oneline –graph –decorate –all | all branches |
hist | log –pretty=format:“%h %ad | %s%d [%an]” –graph –date=short | dated graph |
amend | commit –amend –no-edit | amend without changing message |
cm | commit -m | |
new | checkout -b | new branch |
del | branch -D | force delete branch |
save | stash push -m | named stash |
pop | stash pop | |
uncommit | reset –soft HEAD^ | undo last commit, keep changes |
wipe | reset –hard HEAD | discard all changes |
Pull / Push / Branch
[pull] rebase = true # rebase on pull instead of merge autoStash = true # stash dirty state before pull [push] default = simple autoSetupRemote = true # auto-track upstream on first push [branch] sort = -committerdate # most recently touched branch first [fetch] prune = true # remove stale remote-tracking refs pruneTags = true
Diff / Merge
[diff] tool = vimdiff colorMoved = default # highlight moved lines differently [merge] tool = vimdiff conflictstyle = diff3 # show base + both sides in conflicts
See Also
terminal/shell/gitconfig.txt · Last modified: by 127.0.0.1
