Using Git with Unity3D Game Projects - ParkinT/unity3dlabs GitHub Wiki

From this blog post, the following is good guidance.

Git can work fine with 3D Games out of the box. However the main caveat here is that versioning large (>5MB) media files can be a problem over the long term as your commit history bloats. We have solved this potential issue in our projects by only versioning the binary asset when it is considered final. Our 3D artists use Dropbox to work on WIP assets, both for the reason above and because its much faster and simpler (Not many artists will actively want to use Git!).

###Git Workflow

Your git workflow is very much something you need to decide for yourself given your own experiences as a team and how you work together. However. I would strongly recommend the appropriately named Git Flow methodology as described by the original author here.

I won’t go into too much depth here on how the methodology works as the author describes it perfectly and in quite few words too so its easy to get through. I have been using with my team for awhile now and its the best workflow we’ve tried so far.

###Git GUI Client Application

This is really personal preference here as there are quite a few options in terms of Git GUI or whether to use a GUI at all. But I would like to suggest the free SourceTree application as it plugs in perfectly with the Git Flow extension. Read the SourceTree tutorial here on implementing the Git Flow methodology in their application.

###Unity3D Ignore Folders

/Temp
/obj
/library
*.csproj
*.unityproj
*.sln

Unity3D Settings

Set asset settings to be stored as text-based meta files:

Edit->Project Settings->Version Control Mode = Meta Files

Set asset serialization mode to text so Git can diff them:

Edit->Project Settings->Asset Serialization Mode = Force Text