#!/bin/bash if (( $# < 3 )) then echo "Usage: $0 " echo echo "Example: $0 /Projects/42.git first/answer/ firstAnswer" exit 1 fi clone=$PWD/${3}Clone newN=$PWD/${3} git clone --no-hardlinks file://$1 ${clone} cd ${clone} git filter-branch --subdirectory-filter $2 --prune-empty --tag-name-filter cat -- --all cd - git clone file://${clone} ${newN} cd ${newN} git reflog expire --expire=now --all git repack -ad git gc --prune=now