[user] email = einverne@gmail.com name = Ein Verne signingkey = 926634D64ACAD792 [push] default = matching [http] postBuffer = 524288000 [alias] unstage = reset HEAD -- a = add b = branch c = commit d = diff f = fetch g = grep l = log m = merge o = checkout p = pull r = remote s = status st = status w = whatchanged ### commit ### ca = commit --amend ### checkout ### co = checkout ### cherry-pick ### ### diff ### # diff - show changes not yet staged dc = diff --cache # diff - changes about to be commited ds = diff --staged ### log ### # log key - our favorite way to show our key performance indicators, i.e. our most useful summary. lk = log --graph --topo-order --abbrev-commit --date=short --decorate --all --boundary --pretty=format:'%Cgreen%ad %Cred%h%Creset -%C(yellow)%d%Creset %s %Cblue[%cn]%Creset %Cblue%G?%Creset' ### merge ### ### pull ### # pull if a merge can be resolved as a fast-forward, otherwise fail. pf = pull --ff-only # pull with rebase - to provide a cleaner, linear, bisectable history. # # To integrate changes between branches, you can merge or rebase. # # When we use "git pull", git does a fetch then a merge. # If we've made changes locally and someone else has pushed changes # to our git host then git will automatically merge these together # and create a merge commit that looks like this in the history: # # 12345678 - Merge branch 'foo' of bar into master # # When we use "git pull --rebase", git does a fetch then a rebase. # A rebase resets the HEAD of your local branch to be the same as # the remote HEAD, then replays your local commits back into repo. # This means you don't get any noisy merge messages in your history. # This gives us a linear history, and also helps with git bisect. # # To automatically do "pull --rebase" for any branch based on master: # # git config branch.master.rebase true # # To automatically do "pull --rebase" for all branches: # # git config --global branch.autosetuprebase always # # pr = pull --rebase pr="!f() { \ BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD); \ git push -u origin $BRANCH_NAME; \ hub pull-request; \ };f " ### rebase ### # rebase - forward-port local commits to the updated upstream head. rb = rebase # rebase - continue the rebasing process after resolving a conflict manually and updating the index with the resolution. rbc = rebase --continue # rebase - restart the rebasing process by skipping the current patch. rbs = rebase --skip ### remote ### ### tags ### lasttag = describe --tags --abbrev=0 tags = tag -n1 --list # Stash aliases save = stash save pop = stash pop [branch] autosetuprebase = always [core] editor = vim autocrlf = input quotepath = false [pull] rebase = true [merge] tool = meld conflictstyle = diff3 [mergetool "meld"] cmd = meld $LOCAL $BASE $REMOTE --output=$MERGED --auto-merge [gpg] program = gpg [includeIf "gitdir:~/projects/"] path = ~/projects/.gitconfig