+$ git filter-branch \
+ --prune-empty \
+ --index-filter '
+ grep -Fvxf /tmp/tree.new /tmp/tree.old \
+ | xargs git rm --cached -r --ignore-unmatch
+ ' \
+ HEAD
+```
+
+
+Inserting a new root commit
+---------------------------
+```sh
+git checkout --orphan $TEMP_BRANCH
+git rm -rf .
+git commit --allow-empty -m $INIT_COMMIT_MSG
+git rebase --onto $TEMP_BRANCH --root $MAIN_BRANCH
+git branch -d $TEMP_BRANCH
+```
+
+
+Deleting all tags, locally and remotely
+---------------------------------------
+```sh
+for tag in `git tag`;
+do
+ git tag -d $tag
+ git push $REMOTE_NAME :refs/tags/$tag
+done
+```
+
+
+Get an older version of a file
+------------------------------
+
+```sh
+git cat-file -p $COMMIT_DIGEST:$FILE_PATH