#!/bin/sh set -uex git fetch upstream branches="$(git branch -r | sed -n 's_^.*upstream/r/__p' | sort -h | sed 's_^_r/_' | tail -n3) develop" lastbranch="" for branch in $branches; do git checkout "${branch}" git merge "upstream/${branch}" test "$(git rev-parse "${branch}")" = "$(git rev-parse "upstream/${branch}")" if [ -n "${lastbranch}" ]; then git merge "upstream/${lastbranch}" -m "Merge ${lastbranch} into ${branch}" git push upstream "${branch}" fi lastbranch="${branch}" done