I can backup my local .git by pushing it to a repository in two steps:
git push --all ~/gitrepo
git push --tags ~/gitrepo
I can back it up
The tar method is a possibility, but it won't check the integrity of the saved repo: you won't know if that compressed repo would work until you uncompress it and try to clone or fetch from it.
I prefer the clone --mirror approach (with reflogs enabled in the resulting bare repo).
And the incremental backups are then simple push.
As debated in this old thread, a git stash before a backup might allow you to save more (index and working tree state)