I have been trying to get my head round git and asset management. I am working with a designer who is creating assets and using Dropbox to sync them. I would write the source code that synced by Dropbox and committing the assets and source code together. I soon realised this was a huge mistake as for an example the designer would update the assets, I will be messing around in git and would lose the new assets. Thank god it was on Dropbox. I’ll be now committing changes on the local machine and make Dropbox hold the central repository. When I do this, I do not want to duplicate assets on the Dropbox side and I am wondering what is the best approach to version control the assets.
Update: The kind of assets I am working with are mostly image files, but they can vary with size.
You didn’t specify what kind of assets you are talking about, but I assume they are large binary files.
Git was not designed for such files. When you try to manage them under Git you won’t gain much but lose a lot of performance, because their huge and badly compressed deltas will create a lot of garbage in the git internals.
I would recommend you to separate version control of sourcecode and version control for assets. That way you will be sure that no further accidents happen because one of you doesn’t understand what the other one is doing. Dropbox isn’t maybe the worst tool for the asset side. It also has versioning and is easy to use. Maybe there are better tools, but that’s a topic for designers, not for programmers.