Q:

What should I store in Git?

I have several projects I want to control using Git. Each project consists of source code created in Visual Studio, PAD file (XML file), multiple .txt files, several .psd files (photoshop files), .jpg/.png/.bmp files, compiled setup file, etc. Which files should I store in Git repository and which not?
I know all text files like PAD file or .txt files are OK to store in there, but what about the .psd files, image files and compiled setup? Is there an article clearly describing why it is not a good idea to put binary data in Git?
One great advantage of putting everything inside Git is that when I tag a specific software version (which was released to public), once I checkout that tag, I get everything associated with that particular release - its setup file, all source code, images and promotional material, and I'm completely back in time without having to finding additional files somewhere else. What are the downsides? How have you solved this in your company?

A:

I put binaries in git too. Why not? Usually my PSDs aren't changing throughout the development stage as designs have already been fleshed out for example, but if they were then I would probably check them in...

