Sería bueno aprovecharse de lo "barato" que es ramificar en git y
separar el proyecto en unas cuantas ramas con un propósito específico
para organizarlo mejor. Echad un ojo a este artículo donde hablan del
modelo de ramificación que propongo:
http://nvie.com/posts/a-successful-git-branching-model/
Como dice en el artículo tendríamos las ramas:
-develop: iríamos mezclando a esta rama la funcionalidad que
implementemos
-master: periódicamente mezclaremos la rama develop en esta
(producción)
-model/nombre_modelo: si estamos trabajando en uno o varios modelos
creamos una rama para trabajar en él (o ellos); cuando esté listo
mezclamos la rama en develop
-view/nombre_vista y template/nombre_plantilla: lo mismo que el
anterior
-feature/nombre_descriptivo: para cualquier funcionalidad que no sea
modelo, vista o plantilla; al igual que los anteriores cuando
terminanos mezclamos en develop
-hotfix: para cuando parcheemos un bug en producción, después de
terminar se mezclaría en master y develop
Creo que si hacemos buen uso de la ramificación y el sistema de
tickets de Trac los conflictos pueden ser mínimos y ayudaría a
concentrarse en tareas específicas; y además no duplicaríamos trabajo.
Si más de uno está trabajando en una funcionalidad concreta subiríamos
las ramas al servidor remoto, en otro caso se puede trabajar con ramas
locales. Las únicas que serían "globales" serían develop y master.
¿Qué os parece?