Mantener dos versiones diferentes del mismo repository git sin dividirlo en dos twigs

Probablemente sea una pregunta tonta, pero estoy tratando de averiguar si esto es posible y, si lo es, el mejor enfoque para ello. Tengo dos sets diferentes de código fuente para el mismo repos debido a la necesidad de build este repository en dos sistemas operativos diferentes. Una buena mayoría de la fuente se comparte mutuamente, pero hay partes que difieren entre los dos. ¿Hay alguna forma de almacenar esta información en git sin tener que mantener dos repos / twigs en paralelo? Necesito poder labelr el repository como un todo, lo que no se puede hacer si hay varias twigs.