aboutsummaryrefslogtreecommitdiffstats
path: root/.gitconfig
diff options
context:
space:
mode:
Diffstat (limited to '.gitconfig')
-rw-r--r--.gitconfig128
1 files changed, 128 insertions, 0 deletions
diff --git a/.gitconfig b/.gitconfig
new file mode 100644
index 0000000..3a55d72
--- /dev/null
+++ b/.gitconfig
@@ -0,0 +1,128 @@
+# set your user tokens as environment variables, such as ~/.secrets
+# See the README for examples.
+[color]
+ ui = true
+[color "branch"]
+ current = yellow reverse
+ local = yellow
+ remote = green
+[color "diff"]
+ meta = yellow bold
+ frag = magenta bold
+ old = red
+ new = green
+[alias]
+ # add
+ a = add # add
+ chunkyadd = add --patch # stage commits chunk by chunk
+
+ # via http://blog.apiaxle.com/post/handy-git-tips-to-stop-you-getting-fired/
+ snapshot = !git stash save "snapshot: $(date)" && git stash apply "stash@{0}"
+ snapshots = !git stash list --grep snapshot
+
+ #via http://stackoverflow.com/questions/5188320/how-can-i-get-a-list-of-git-branches-ordered-by-most-recent-commit
+ recent-branches = !git for-each-ref --count=15 --sort=-committerdate refs/heads/ --format='%(refname:short)'
+
+ # branch
+ b = branch -v # branch (verbose)
+
+ # commit
+ c = commit -m # commit with message
+ ca = commit -am # commit all with message
+ ci = commit # commit
+ amend = commit --amend # ammend your last commit
+ ammend = commit --amend # ammend your last commit
+
+ # checkout
+ co = checkout # checkout
+ nb = checkout -b # create and switch to a new branch (mnemonic: "git new branch branchname...")
+
+ # cherry-pick
+ cp = cherry-pick -x # grab a change from a branch
+
+ # diff
+ d = diff # diff unstaged changes
+ dc = diff --cached # diff staged changes
+ last = diff HEAD^ # diff last committed change
+
+ # log
+ l = log --graph --date=short
+ changes = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\" --name-status
+ short = log --pretty=format:\"%h %cr %cn %Cgreen%s%Creset\"
+ simple = log --pretty=format:\" * %s\"
+ shortnocolor = log --pretty=format:\"%h %cr %cn %s\"
+
+ # pull
+ pl = pull # pull
+
+ # push
+ ps = push # push
+
+ # rebase
+ rc = rebase --continue # continue rebase
+ rs = rebase --skip # skip rebase
+
+ # remote
+ r = remote -v # show remotes (verbose)
+
+ # reset
+ unstage = reset HEAD # remove files from index (tracking)
+ uncommit = reset --soft HEAD^ # go back before last commit, with files in uncommitted state
+ filelog = log -u # show changes to a file
+ mt = mergetool # fire up the merge tool
+
+ # stash
+ ss = stash # stash changes
+ sl = stash list # list stashes
+ sa = stash apply # apply stash (restore changes)
+ sd = stash drop # drop stashes (destory changes)
+
+ # status
+ s = status # status
+ st = status # status
+ stat = status # status
+
+ # tag
+ t = tag -n # show tags with <n> lines of each tag message
+
+ # svn helpers
+ svnr = svn rebase
+ svnd = svn dcommit
+ svnl = svn log --oneline --show-commit
+[format]
+ pretty = format:%C(blue)%ad%Creset %C(yellow)%h%C(green)%d%Creset %C(blue)%s %C(magenta) [%an]%Creset
+[mergetool]
+ prompt = false
+[mergetool "mvimdiff"]
+ cmd="mvim -c 'Gdiff' $MERGED" # use fugitive.vim for 3-way merge
+ keepbackup=false
+[merge]
+ summary = true
+ verbosity = 1
+ tool = mvimdiff
+[apply]
+ whitespace = nowarn
+[branch]
+ autosetupmerge = true
+[push]
+ # 'git push' will push the current branch to its tracking branch
+ # the usual default is to push all branches
+ default = tracking
+[core]
+ autocrlf = false
+ editor = vim
+ excludesfile = ~/.yadr/git/gitignore
+[advice]
+ statusHints = false
+[diff]
+ # Git diff will use (i)ndex, (w)ork tree, (c)ommit and (o)bject
+ # instead of a/b/c/d as prefixes for patches
+ mnemonicprefix = true
+ algorithm = patience
+[rerere]
+ # Remember my merges
+ # http://gitfu.wordpress.com/2008/04/20/git-rerere-rereremember-what-you-did-last-time/
+ enabled = true
+[user]
+ email = dave@sleepmap.de
+ name = David Runge