#!/bin/bash # # Push changes in a subtree to a remote. # # Parameters BASENAME="`basename $0`" REMOTE="$1" FOLDER="$2" # Syntax if [ -z "$2" ]; then echo "usage: $BASENAME " exit 1 fi # Check remote if ! git remote | grep -qe "^$REMOTE"; then echo "fatal: no such remote $REMOTE" exit fi # Fetch the remote git fetch $REMOTE master # Process if [ ! -d "$FOLDER" ]; then echo "fatal: folder $FOLDER does not exist" exit 1 else # Update a subtree git subtree push --prefix=$FOLDER $REMOTE master fi