Desarrollo de proyecto con ramas específicas en GIT

  • Autor Autor dBer
  • Fecha de inicio Fecha de inicio
D

dBer

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos,

Mi duda es la siguiente, me gustaría saber si es posible con GIT el realizar un desarrollo de un proyecto (hasta aquí esta claro que si), peor a su vez ir sacando diferentes ramas con features específicas (por ejemplo para un cliente específico), las cuáles no aparezcan en la rama master, pero que en caso de que se añada una característica nueva a la master, aparezca en el resto de ramas.

¿esto es posible?

Gracias!
 
En teoría sí puedes, en la práctica no es algo práctico.
Lo ideal es tener un fork por cada cliente no se si me explico.

Las ramas sirven para ir agregando funciones a una rama principal la cual es la base de código de todo el proyecto, por eso tienes una rama master, una rama de desarrollo una rama de integración, al final todas las ramas se unen en una sola.

Pero de que se puede se puede.
 
En teoría sí puedes, en la práctica no es algo práctico.
Lo ideal es tener un fork por cada cliente no se si me explico.

Las ramas sirven para ir agregando funciones a una rama principal la cual es la base de código de todo el proyecto, por eso tienes una rama master, una rama de desarrollo una rama de integración, al final todas las ramas se unen en una sola.

Pero de que se puede se puede.

Muchas gracias, imaginaba que no estaba dando en la tecla con lo que pensaba.

Respecto al fork, entiendo que es un fork por cliente.¿ Esto permitiría si agrego algo, controlar que ficheros se actualizan y cuales no?
 
Si al igual que las ramas puedes decidir que archivos agregar y cuales no, el problema en la ramas se da a la hora de integrar.

Mi recomendación es la siguiente:

Crea un repositorio para el código base y una rama de desarrollo de esta vas a basar todos los forks y cada fork tendrá su propia rama de desarrollo.
Si vas agregar una función específica al cliente se la agregas al fork, si agregas una función a todo el código base se tiene que ver reflejada en todos los forks por lo que tendrás que agregar una rama en cada fork que sea de integración de nuevos cambios del repositorio principal.
 
Si al igual que las ramas puedes decidir que archivos agregar y cuales no, el problema en la ramas se da a la hora de integrar.

Mi recomendación es la siguiente:

Crea un repositorio para el código base y una rama de desarrollo de esta vas a basar todos los forks y cada fork tendrá su propia rama de desarrollo.
Si vas agregar una función específica al cliente se la agregas al fork, si agregas una función a todo el código base se tiene que ver reflejada en todos los forks por lo que tendrás que agregar una rama en cada fork que sea de integración de nuevos cambios del repositorio principal.

Gracias!! Simplemente ya dudas de no poder probarlo ahora mismo, en caso de que yo desarrolle algo en la rama "desarrollo" principal se incrustaría en el resto de forks, en caso de que quiera hacer algo para un cliente especifico, simplemente necesitaría hacerlo en su fork y listo.

Sobreentiendo, que si hago algo en la rama principal de desarrollo y afecta a un cambio hecho en las de los clientes, lo sobreescribirá. ¿Es así?
 
Sobreentiendo, que si hago algo en la rama principal de desarrollo y afecta a un cambio hecho en las de los clientes, lo sobreescribirá. ¿Es así?

Así es, para ello tienes la rama de integración en donde puedes ir analizando que va afectar a los cambios hechos con anterioridad, esa es la ventaja de que los tengas como forks

Si tuvieras muchas ramas tendrás muchos registros de cambios (logs) que a la larga se haría tedioso integrar, en cambio teniendo un fork con cambios tu puedes ver esos cambios específicos y el código base tal y como estaba, de ahí puedes comparar e integrar manualmente o ver si un merge no te sobreescribiría tu código.

Saludos. :encouragement:
 
Así es, para ello tienes la rama de integración en donde puedes ir analizando que va afectar a los cambios hechos con anterioridad, esa es la ventaja de que los tengas como forks

Si tuvieras muchas ramas tendrás muchos registros de cambios (logs) que a la larga se haría tedioso integrar, en cambio teniendo un fork con cambios tu puedes ver esos cambios específicos y el código base tal y como estaba, de ahí puedes comparar e integrar manualmente o ver si un merge no te sobreescribiría tu código.

Saludos. :encouragement:

Genial! Lo probaré lo antes posible!
 
Atrás
Arriba