This is my current git config. I'm mostly publishing this for the aliases, that I hope some will find useful.
I addition, I'm using the excellent git-interactive-rebase-tool and diff-so-fancy for easily squashing past commits and better looking diffs respectively.
[user]
name = USERNAME
email = EMAIL
[push]
default = simple
followTags = true
[core]
editor = nvim
autocrlf = false
safecrlf = false
[alias]
visual = !gitk
# Get the current branch name (not so useful in itself, but used in other aliases)
branch-name = !git rev-parse --abbrev-ref HEAD
co = checkout
# Create a new branch
cob = "checkout -b"
c = cherry-pick
cl = clone
st = status -sb
br = branch
# Delete local branch
brd = "branch -D"
# Pretty log
h = log --pretty=format:\"%C(auto)%h %ad (%cr) %s%d [%Cgreen %an %Creset]\" --graph --date=short --all
p = push
# Push the current branch to the remote "origin", and set it to track the upstream branch
pub="!git push -u origin $(git branch-name)"
# Delete remote branch
pd = "push --delete origin"
cm = commit
cmm = commit -m
# Amend to last commit
cma = commit --amend
# Make a quick commit with WIP(work in progress) message
wip = !git add --all && git commit -m "WIP"
# Make a quick commit with WIP(work in progress) message and skip validations
wipnv = !git add --all && git commit -m "WIP" --no-verify
# Pull latest changes and sync current branch with remote
sync = !git fetch --prune && git pull
# Finds the commit where file was added. Usage: `git whatadded tsconfig.json`
whatadded = log --diff-filter=A
[pager]
diff = diff-so-fancy.cmd | less --tabs=4 -RFX
show = diff-so-fancy.cmd | less --tabs=4 -RFX
[pack]
windowMemory = 100m
packSizeLimit = 100m
[color]
ui = true
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
[color "diff"]
meta = yellow
frag = magenta bold
commit = yellow bold
old = red bold
new = green bold
whitespace = red reverse
[credential]
helper = manager
[sequence]
editor = interactive-rebase-tool
Top comments (0)