Tengo un proyecto de código cerrado que se basa en mi marco de código abierto. Quiero saber cómo debería estructurar mi flujo de trabajo. Debajo está mi mejor conjetura que usa el git con los submódulos.Flujo de trabajo de Git adecuado para sistemas operativos combinados y códigos privados?
- puedo crear un acuerdo de recompra marco pública sobre github de cartuchos que son repositorios Git separadas.
- Compro una cuenta "micro" en github ($ 7) por lo que I puede tener un repositorio privado.
- Creo un repositorio privado y clono el repositorio de marco público.
Desde aquí puedo realizar cambios en:
- Mi código privado y empujar a mi repo privada en github
- El código de la arquitectura pública y empujar a mi repo GitHub privado y luego enviar un tirón solicitud del marco público ..? ¿O cómo funcionaría esto?
¿Cómo manejo un repositorio que contiene códigos y submódulos privados y públicos? En este momento, parece que solo tengo que mantener dos bases de código separadas para lograr esto.
Estoy buscando la mejor respuesta que pueda ayudar a alguien bastante nuevo a git a agilizar el proceso de trabajo en una base de código que es mitad de fuente abierta y mitad privada. Una cosa buena de esto es que cada carpeta es privada o pública, por lo que no hay que preocuparse por tener archivos privados y públicos en alguna parte, ¡aunque algunas de las carpetas privadas pueden estar en archivos públicos!
Otro ejemplo que podría dar sería el uso de zendframework para construir su sitio privado de la compañía sin dejar de hacer extracciones todos los días (y tal vez parches) al cepo repo. Y también tira y empuja de su sitio privado dentro del zendframework.
Por ejemplo, imaginemos una estructura de directorios como esto:
/private_folder
/public
/public_folder
/public_folder2
/private_folder
Quizás lo que te pido dos difícil de controlar a todos en un repo se unieron. Tal vez no haya una manera fácil de hacer esto y debería separarlos y hacer todos los parches públicos en uno y luego simplemente ingresar a mi repositorio privado. Por supuesto, esto significa que si estoy en el medio de trabajar en algún código privado, tendré que dejar ese repositorio y abrir el público y hacer que cambie el código parcheado, luego volver al privado, fusionar , y luego continúe trabajando en el código privado.
Usted menciona Zend arriba. ¿Esto significa que su proyecto está basado en PHP? ¿O es solo un ejemplo? (Pregunto porque diferentes idiomas empaquetan el código de diferentes maneras y esto puede afectar su flujo de trabajo). –
Sí, está basado en PHP, por lo que no es necesario * generar *. – Xeoncross