dotfiles/.gitconfig

131 lines
3.3 KiB
INI
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[alias]
## 'New' commands.
create-initial-commit = !git commit -m 'Initial commit' --allow-empty
hard-reset = !git reset --hard $(git upstream)/$(git current-branch)
# 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-
work-in-progress = commit -a -m 'WIP'
# Create a new branch.
create-new-branch = checkout -b
# Add a commit that fixes another (to be used with `rebase -i`).
fixup = commit --fixup
noff = merge --no-ff
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
# Push the current branch upstream to origin using the same branch
# name for the remote branch.
upstream-current-branch = !git push --set-upstream origin \
$(git current-branch)
rebase-against-master = !git fetch --all \
&& git rebase $(git upstream)/master
rebase-against-develop = !git fetch --all \
&& git rebase $(git upstream)/master
## Shorterned 'New' commands.
cic = !git create-initial-commit
red = !git rebase-against-develop
rem = !git rebase-against-master
w = !git word-diff
wip = !git work-in-progress
# Shorterned existing commands.
a = add
aa = add --all --intent-to-add
ap = add --patch
au = add -u
b = branchs
bd = branch --delete
c = commit -v
ca = commit --amend
caa = commit --amend -C HEAD
cl = clone --recursive
co = checkout
cop = checkout -p
d = diff
f = fetch --all
g = grep --break --heading
l = !git log --oneline --graph --decorate -20 || true
m = merge --ff-only
nb = !git create-new-branch
p = push
rb = rebase
rba = rebase --abort
rbc = rebase --continue
rbi = rebase --interactive
s = status --short --branch
sb = show-branch -a
dt = diftool
[branch]
autosetupmerge = true
autosetuprebase = always
[color]
ui = true
[core]
# A global .gitignore file.
excludesFile = ~/.gitignore-global
[diff]
tool = vimdiff
[fetch]
# Always prune when fetching (and pulling).
prune = true
[gitsh]
nogreeting = true
[grep]
# Show the line numbers in the output.
lineNumber = true
[help]
autocorrect = 1
# Open Git help pages in a browser as HTML.
format = web
[include]
path = ~/.gitconfig-local
[rebase]
autosquash = true
autostash = true
[rerere]
# Store and re-use manual conflict resolution changes.
enabled = true
[push]
default = simple