Generally speaking, I aim to keep my merges to master pretty short. As a result, I found myself repeating a lot of small commands. Attached are a couple scripts I use to push through those tedious moments and keep things moving to the master branch.

These can also be found in this git repo.

I use this one after a branch I’ve been working on is merged into the master branch through the Github UI. Once I return to the command line, I’m usually still on the merged branch and want to get the latest so that I can create a new branch.

function get_current_branch() {
  git branch | grep \* | cut -d ' ' -f2

git checkout master && git pull origin master && git branch -D "$BRANCH_TO_DELETE"

This one is handy when I need to refresh my working branch to pull in changes that have already been merged. It HAS gone sideways on me – I think I had nothing to stash and I popped something old on top of my changes. Still, it’s about 88% effective.

function get_branch() {
  git branch | grep \* | cut -d ' ' -f2


git stash save
git checkout master
git pull origin master
git checkout ${ORIGINAL_BRANCH}
git rebase master
git stash pop