Git subtree does not cover the same use case as a subtree checkout in SVN. You need a complete clone to create the subtree repository and to push changes from the subtree repo to the main one.
git checkout -- <file>
This will revert the file back to the the last checked out version. git checkout <sha-1> -- <file>
Will revert a file to the state it was in, in that particular sha-1.