Estoy en un equipo que usa Git ahora mismo, y tenemos un flujo de trabajo bastante bueno. Tenemos un repositorio central con dos ramas, dev y master. Creamos sucursales locales para trabajar en tareas individuales. Nos fusionamos en desarrollo cuando están listos. Luego nos fusionamos para dominar cuando las cosas están listas, y etiquetamos todos nuestros lanzamientos. Si varios desarrolladores necesitan cooperar en una tarea más directamente, podemos crear otra rama remota, posiblemente temporal, para que puedan compartir los parches. Esto está funcionando bastante bien para nosotros, pero nos deja con dos problemas.¿Cómo administrar copias de seguridad y monitorear Git con un repositorio central?
Un problema es el problema de las copias de seguridad. Claro, la mayoría de la base de código está respaldada. Cada máquina que tiene un clon del repositorio tiene la mayor parte del código. Sin embargo, el código que alguien escribe durante el transcurso de un día no se respalda hasta que se fusionan con dev y push. Si la tarea en la que están trabajando no es trivial, podrían pasar días antes de que se fusionen y funcionen. ¿Cómo nos aseguramos de que este código de trabajo en progreso esté respaldado en un lugar central seguro? Solo use alguna solución de respaldo externa a Git?
El segundo problema es la cuestión del control del progreso del empleado. Los gerentes quieren poder ver qué código escribieron los desarrolladores cada día. Si se va a comprar un día en el que no empujaste nada, parecerá que no hiciste nada en todo el día. Necesitamos alguna forma de mostrar nuestro trabajo a diario que no nos obligue a comprometernos y aplicar un código que no esté listo para comprometerse, fusionarse y presionar.
Una solución que consideramos es crear una rama remota en el repositorio central para cada rama local que hacemos. Esto probablemente funcionaría, pero sería un gran desorden, incluso si elimináramos regularmente las viejas ramas no utilizadas. También es mucho trabajo extra para administrar todo eso.
¿Cómo podemos satisfacer estos requisitos comerciales sin interrumpir nuestro flujo de trabajo de Git?
En general me parece el: rama mientras se trabaja en ella empuje para copia de seguridad al final del día eliminar una vez que haya ninguna necesidad de ello más y se ha incorporado al proceso principal rama funciona bien – Kzqai
Bah, mal formateado, pero se entiende, utilizar todo ese poder de ramificación en una forma de denominación-esquema-es-organizada es simple y útil. – Kzqai