Skip to content

Instantly share code, notes, and snippets.

@loddit
Created November 5, 2014 04:04
Show Gist options
  • Select an option

  • Save loddit/0fc9195ed5e2d232b2a5 to your computer and use it in GitHub Desktop.

Select an option

Save loddit/0fc9195ed5e2d232b2a5 to your computer and use it in GitHub Desktop.
git bashrc
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working directory clean" ]] && echo "*"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
function fpr ()
{
sha1="$1"
git rev-list --grep="Merge pull request #" --ancestry-path $sha1..upstream/master | tail -n 1
}
function removeunuseoriginbranch ()
{
git checkout master;
git pull upstream master;
git remote update origin upstream > /dev/null;
git branch --merged | grep --color=auto -v master | xargs git branch -d;
git remote prune origin;
for branch in `git remote show origin | grep tracked | awk '{print $1}'`;
do
if [[ -z `git log upstream/master..origin/$branch` ]]; then
if ! git branch | grep --color=auto -q $branch; then
git push origin :$branch;
fi;
fi;
done
}
export PS1='\u@\h \[\033[1;33m\]\w\[\033[0m\]$(parse_git_branch)$ '
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment