diff options
Diffstat (limited to '.config/git/config')
-rw-r--r-- | .config/git/config | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/.config/git/config b/.config/git/config new file mode 100644 index 0000000..5aae96f --- /dev/null +++ b/.config/git/config @@ -0,0 +1,123 @@ +# 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 + + # 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 = vimdiff +[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 +[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 |