¿Debo mantener el código del server y el código del cliente de una aplicación en el mismo directory de git?

Estoy haciendo un juego que funcionará como una aplicación web, y tengo un código de server y un código de cliente. Ambos están en sus propios directorys separados, y luego están envueltos en un directory git, que se envía a Github. ¿Esta forma de hacer las cosas tiene algún defecto, y debería crear directorys git separados para el mismo proyecto?

Si por "git directory" te refieres a un único tree de subdirectorys controlado por git, sí, está bien. Ciertamente, no use repositorys git separados para el cliente y el server; de lo contrario, deberá diseñar un esquema para verificar la coinheritance de la versión de protocolo cuando un cliente se conecte a un server (aunque es posible que tenga otros motivos para apoyar esto, por ejemplo cada vez que el cliente y el server se instalan o implementan por separado, deberá hacer esto).

Sin embargo, si realmente se refiere al directory del sistema de files, le aconsejaría que no. Cree un subdirectory para las definiciones (files de encabezado normalmente) que el cliente y el server necesitarían compartir, y mantenga el código del cliente y el código del server en otros dos directorys separados. A less que sean muy triviales y siempre habrá una pequeña cantidad de código.

GIT, SVN es para versiones (sistema de control de versiones). Como desarrollador de dotnet, si tengo cualquier cantidad de proyectos en mi solución individual (ya sea una web, dll o exe), preferiría empujarlo en un repository único.