¿Cuál es la mejor manera de configurar git al tener un código común que debería usarse en varios repositorys?

Estoy trabajando como desarrollador de .NET en un equipo de desarrollo donde estamos usando Kanban para nuestro process de desarrollo de software. Actualmente estamos utilizando Team Foundation Server para control de fuente y teniendo una estrategia de twig por function para asegurar que siempre tengamos código liberable.

Dado que hay algunas "limitaciones" en Team Foundation Server, estamos a punto de pasar a github para get una herramienta más flexible.

Me pregunto cuál es la mejor manera de configurar git cuando tienes un proyecto común que se debe usar desde varias soluciones / aplicaciones. ¿Debería ser un repository propio?

Sí, cada proyecto (y no me refiero al significado de Visual Studio de esa palabra) debería tener su propio repository, incluido el proyecto común. A continuación, puede usar el submodule git para includelo en los otros proyectos.