Git. Almacene varios proyectos en el mismo repository

Imagine la aplicación mobile que se planea implementar tanto para iOS como para Android. El desarrollo se inició solo con la versión de iOS y ahora ha llegado el momento de comenzar con Android uno. El código de la aplicación iOS se almacena en su propio repository Git que lleva el nombre del nombre de la aplicación, por ejemplo, "MYApp". Ahora me gustaría crear un repository común para aplicaciones iOS y Android y nombrarlo nuevamente después del nombre de la aplicación: "MYApp".

No es un problema a primera vista. Simplemente crea un repository, crea 2 subcarpetas allí y comienza a trabajar.

Pero. Me gustaría que el desarrollador de Android solo pudiera trabajar con su carpeta y desarrollador de iOS solo con la suya y que ambos pudieran ver solo el historial relacionado con sus propias carpetas (logging).

Trabajé con SVN previamente. Por lo general, creé subcarpetas y puede consultar cualquiera de ellas para trabajar solo con esta subcarpeta. La historia también se filtró a su scope.

Estoy atascado con la implementación de lo mismo en Git. Por favor, ayúdame a encontrar la dirección correcta.


Resumiré las soluciones sugeridas.

  1. Usa ramificaciones para diferentes plataforms. No creo que sea una buena idea, porque las sucursales se usan para otro propósito. Me parece muy "jacky".
  2. Usa submodules. Simplemente cree todos los repos como plataforms a las que se dirige, asígneles el nombre "MYApp-iOS", "MyApp-Android", etc. y finalmente termine con el repository "maestro", que podrían ser nombres como "MYApp" (sin ningún sufijo ) A continuación, agregue todos los repos relacionados para "masterizar" uno con la function de submodules de git.
  3. Usa el esclavo git. Investigando …

Por favor, siéntase libre de editar esta list para generar una lluvia de ideas sobre el problema.

Hay una manera de seguir con los proyectos separados de tipo relacionado en un mismo repository git utilizando la ramificación git .

Pero tenga en count que esa no es la razón por la cual se implementó la ramificación en git. Uno de sus usos sería el desarrollo de una nueva funcionalidad radical para su aplicación que podría no ver el lanzamiento pronto, por ejemplo.

Al final: es una cuestión de opinión. Si está preparado para administrar un repository más complejo solo para mantener ambos códigos en el mismo lugar, puede hacerlo.

Definitivamente me gustaría hacer dos repositorys separados sin embargo. Un par de opiniones sobre este tema también se pueden encontrar aquí en SO: twigs de Git con contenido completamente diferente

EDITAR:

Gitslave parece abordar tu problema. Es posible que desee intentarlo.