Skip to content

Instantly share code, notes, and snippets.

@eloyz
Forked from mitsuhiko/.gitconfig
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eloyz/459d6592019c67d42515 to your computer and use it in GitHub Desktop.
Save eloyz/459d6592019c67d42515 to your computer and use it in GitHub Desktop.
# Alternatively don't use slog but something else. I just like that more.
[alias]
slog = log --pretty=format:"%C(auto,yellow)%h%C(auto)%d\\ %C(auto,reset)%s\\ \\ [%C(auto,blue)%cn%C(auto,reset),\\ %C(auto,cyan)%ar%C(auto,reset)]"
addprx = "!f() { b=`git symbolic-ref -q --short HEAD` && \
git fetch origin pull/$1/head:pr/$1 && \
git fetch -f origin pull/$1/merge:PR_MERGE_HEAD && \
git rebase --onto $b PR_MERGE_HEAD^ pr/$1 && \
git branch -D PR_MERGE_HEAD && \
git checkout $b && echo && \
git diff --stat $b..pr/$1 && echo && \
git slog $b..pr/$1; }; f"

How it works

git addprx 42

Adds pull request 42 as branch "pr/42" and rebases the changes against the current branch. What this means is that even if the pull request (of a bugfix was against master) it will now be rebased against the current branch (which could be the maintenance branch).

It also prints out a diffstat and all the commits with their new hashes at the end.

screenshot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment