Alrighty then, the short version of my question would be:
What is the best way to handle project references in Git when you have projects that are shared across multiple solutions and how should my Git repos be organized?
The long version is:
We are a small dev team(5 developers) and currently we use TFS as our source control and build server and Visual Studio is our IDE of choice. I've always been keen on trying new things and trying to improve our dev environment so I decided to read up on Git to find out if it would be good replacement for the source control part of TFS. We just integrated Jira into our workflow so I decided to try out Stash as our Git environment because of how well it integrates with Jira. I'm now in the process of trying to find out what way to organize the git repos and that is why I'm here. Now I'm going to describe how many of our solutions are organized.
We've got a bunch of solutions. Some are libraries and some are Programs that reference these libraries via Project reference in Visual studio.
So the main thing that confuses me would be how to handle libraries that are referenced in many solutions?
Should we start versioning our libraries and put every library in a separate repo? It seems like this way would involve a lot of extra maintenance when a library receives an update that has to be deployed and that library is being used by 20+ solutions. Am I wrong ? One more downside that I see is that there would be no more Project references in Visual studio and it would make debugging a lot more tedious.
Should I just make on big repo with all our solutions and that way all our references are up to date?
I also thought that maybe I could make our own nuget repository that has all theses libraries and that way it would not be as much of an hassle to update the referenced libraries when needed. This is just an idea and I have not looked into this properly so I'm not sure if this would be of any benefit.
So, are there any people out there that could give me some advice regarding this?