Files
dotfiles/git/gitconfig.symlink
Nick Nisi 99343b27a7 new commands, updated gitconfig
+ e opens $EDITOR (thanks @holman)
+ h is same as 'c' but in home directory (thanks @holman)
+ updated gitconfig
2013-02-05 20:47:16 -06:00

83 lines
2.5 KiB
Plaintext

# gitconfig
[user]
name = Nick Nisi
email = nick@nisi.org
[alias]
ci = commit -a
co = checkout
s = status --short
ss = status
br = branch -v
brt = "!sh -c gbrt"
# show a pretty log graph
lg = log --graph --pretty=oneline --abbrev-commit --decorate
# slight variation of pretty log graph
l = log --graph --pretty=format:'%Cred%h%Creset %an: %s - %Creset %C(yellow)%d%Creset %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
# show files that have changed between two branches (git dbr master..branch)
dbr = diff --name-status
# show diff of cached files
gdc = diff --cached
# show changed files for a commit
cf = show --pretty="format:" --name-only
# undo a commit
undo = reset --soft
# show what I did today
day = "!sh -c 'git log --reverse --no-merges --branches=* --date=local --after=\"yesterday 11:59PM\" --author=\"`git config --get user.name`\"'"
# stash shortcuts
sp = stash pop
sw = stash save
sl = stash list
sh = show --pretty="format:" --name-only
# submodule shortcuts
si = submodule init
su = submodule update
# show number of commits per contributer, sorted
count = shortlog -sn
undo = reset --soft HEAD~1
amend = commit --amend -C HEAD
# grep commands
# 'diff grep'
dg = "!sh -c 'git ls-files -m | grep $1 | xargs git diff' -"
# diff grep changes between two commits
dgc = "!sh -c 'git ls-files | grep $1 | xargs git diff $2 $3 -- ' -"
# 'checkout grep'
cg = "!sh -c 'git ls-files -m | grep $1 | xargs git checkout ' -"
# add grep
ag = "!sh -c 'git ls-files -m -o --exclude-standard | grep $1 | xargs git add' -"
# add all
aa = !git ls-files -d | xargs git rm && git ls-files -m -o --exclude-standard | xargs git add
# remove grep - Remove found files that are NOT under version control
rg = "!sh -c 'git ls-files --others --exclude-standard | grep $1 | xargs rm' -"
[color]
diff = auto
status = auto
branch = auto
ui = true
[push]
# push to the upstream branch but only if it is the same name
default = simple
[branch]
# set up 'git pull' to rebase instead of merge
autosetuprebase = always
[diff]
renames = copies
mnemonicprefix = true
[core]
excludesfile = ~/.gitignore_global
pager = less -FXRS -x2
editor = vim
[apply]
# turn off trailing whitespace warning
whitespace = nowarn
[mergetool]
# remove backup files after a successful merge
keepBackup = false
[rerere]
enabled = false