dotfiles/.gitconfig

118 lines
3.2 KiB
INI

[include]
path = ~/.gitconfig-local
[color]
ui = true
[color "branch"]
current = yellow bold
local = green bold
remote = cyan bold
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
[color "status"]
added = green bold
changed = yellow bold
untracked = red bold
[branch]
autosetupmerge = true
autosetuprebase = always
[alias]
aa = add --all
ap = add --patch
br = branch -v
c = commit -v
ca = !git c --amend
caa = !git ca -a -C HEAD
cam = !git c -am
cl = clone
cm = !git c -m
co = checkout
cop = checkout -p
ds = diff --stat
f = fetch
g = grep --break --heading --line-number
create-initial-commit = !git commit -m 'Initial commit' --allow-empty
l = log --oneline --graph --decorate
la = !git l --all
noff = merge --no-ff
prb = pull --rebase
ra = rebase --abort
ri = rebase --interactive
rc = rebase --continue
s = status --short --branch
staged = diff --staged
undo = reset --hard
unstage = reset HEAD --
wipe = clean -fd
word-diff = diff --word-diff
# Print the name of the current branch.
current-branch = symbolic-ref --short HEAD
# Print the name of the current upstream tracking branch.
upstream = !git config --get branch.$(git current-branch).remote \
|| echo origin
# Checkout the latest develop branch and update it.
pull-develop = !git checkout develop && git pull --rebase
# Checkout the latest master branch and update it.
pull-master = !git checkout master && git pull --rebase
# Update the develop, master and current branches.
pull-develop-master-current-branch = !BRANCH=$(git current-branch) && \
git fetch --all && git pull-develop && git pull-master && \
git checkout $BRANCH && git pull
# Fetch and merge the latest changes from the develop branch.
merge-origin-develop = !git fetch origin && git merge origin/develop
# Fetch and merge the latest changes from the master branch.
merge-origin-master = !git fetch origin && git merge origin/master
# Assume the specified file is unchanged to stop changes
# being seen by Git
assume = update-index --assume-unchanged
# No longer assume a specified file remains unchanged
unassume = update-index --no-assume-unchanged
# List all files that are assumed to be unchanged
assumed = !git ls-files -v | grep '^[hsmrck?]' | cut -c 3-
push-current-branch = !git push -u $(git upstream) $(git current-branch)
# Shorter commands.
cic = !git create-initial-commit
mod = !git merge-origin-develop
mom = !git merge-origin-master
[core]
# A global .gitignore file.
excludesFile = ~/.gitignore-global
[grep]
# Show the line numbers in the output.
lineNumber = true
#
patternType = extended
[fetch]
# Always prune when fetching (and pulling).
prune = 1
[help]
autocorrect = 1
[rerere]
# Store and re-use manual conflict resolution changes.
enabled = 1
[gitsh]
nogreeting = true
[diff]
tool = vimdiff
[rebase]
autosquash = true
autostash = true