[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