#!/bin/sh set -e NEW="$1"; shift CUR="$(git symbolic-ref HEAD|sed 's,^refs/heads/,,')" git branch -f "temp/$CUR" git checkout "temp/$CUR" git ls-files --deleted --modified --others -z \ --exclude-from=.git/info/exclude \ --exclude-per-directory=.gitignore \ | git update-index --add --remove -z --stdin if [ "$(git diff HEAD)" ]; then git commit -m 'TEMPORARY' fi if git rev-parse --verify "temp/$NEW" 1>/dev/null 2>/dev/null; then git checkout "temp/$NEW" git reset --soft "$NEW" fi git checkout "$NEW"