I'm developing mobile apps (iPhone, Android, and Blackberry) and recently converted from SVN to Git.
In SVN after I do a release, I tag the relevant branch/revision to ensure its state is preserved and then I add a directory to this tag and put in the released binary and also (for iPhone) the debug symbols files for that exact build (for symbolificating any crash reports later on). The files don't need to be versioned, but it's a convenient place to store the historic artifacts along with the code to ensure they are backed-up (SVN has a backup policy whereas the builds on my CI server don't).
I'm trying to figure out the best equivalent in Git. Probably the closest thing would be to create a new branch, add the binary files, tag it, and delete the branch. However, I'm wondering if there are any better ways of doing this?
Ideally I'd like to create a tag and then attach the binaries as unversioned files to the tag. This way, they don't actually appear in the source tree but they are there in the repository, associated with the tag, for retrieval as necessary by anyone with access to the repository. Is there anything equivalent to this in Git?