¿Cuál es el flujo de trabajo ideal de Git para nuestro equipo web de 2 personas?

Buscamos usar GIT para ayudar a administrar nuestros files web, ya que acabamos de contratar a un segundo desarrollador.

No usaremos GitHub, pero sí tenemos un disco NAS (unidad compartida), por lo que nuestros pensamientos iniciales son algún tipo de plan como este:

  • DVCS (raíz)
    • maestro (NAS)
      • Proyecto 1
      • proyecto 2
    • desarrollador1 (NAS)
      • Proyecto 1
      • proyecto 2
    • desarrollador2 (NAS)
      • Proyecto 1
      • proyecto 2
    • desarrollador1 (estación de trabajo local)
      • Proyecto 1
      • proyecto 2
    • developer2 (estación de trabajo local)
      • Proyecto 1
      • proyecto 2

Así que, básicamente, cada desarrollador clonaría el repository principal del proyecto en su repository de desarrolladores (control de calidad) y luego clonaría este repository de desarrolladores en su repository local. Harían sus cambios / ediciones y luego confirmarían y enviarían estos cambios a su repository de desarrolladores para que los aprobara un desarrollador senior. Una vez que lo hagan, se enviarán al maestro.

No estoy seguro si este es el enfoque correcto o si debería usar twigs o si necesito un flujo de trabajo diferente.

No hay una respuesta "correcta" a esta pregunta. El flujo de trabajo correcto es lo que funcione para usted y su equipo.

Habiendo dicho eso, si solo tienes dos desarrolladores, no estoy muy seguro de por qué sientes que necesitas más de un repository simple. Lo más fácil de hacer en este caso es:

  1. Tenga un repository central en su NAS.

    • Una twig principal para integrar el código de desarrollo.
    • Ramas de funciones donde los desarrolladores trabajan en temas para fusionarse en maestros.
    • Sucursales de usuarios privados donde los desarrolladores pueden empujar cosas para realizar copys de security o seleccionar cosas, pero donde el cambio de references o los empujes forzados pueden ocurrir libremente.
    • Ramas estables para el código publicado, si eso se ajusta a su model. Algunas tiendas solo necesitan tags en el maestro si realizan entregas continuas.
  2. Los desarrolladores almacenan clones en sus estaciones de trabajo, en lugar de en una unidad de networking.

    • Ofrece networkingundancia si el NAS pierde datos o se desconecta.
    • Permite twigs desechables que no se almacenan centralmente ni forman parte del historial del proyecto.

Los equipos pequeños generalmente no necesitan la complejidad de un model de request de extracción. Su experiencia puede ser diferente.