¿Buenas prácticas de flujo de trabajo con git y github?

He estado usando git y github con mi pequeño equipo de desarrolladores para nuestros proyectos. No puedo evitar pensar que no lo estamos haciendo bien. Me interesa escuchar cómo otros utilizan este flujo de trabajo en sus proyectos.

Como lo usamos: Nos bifurcamos antes de cada cambio, nos fusionamos con el maestro, nos comprometemos localmente y presionamos a nuestro repositorio de github. Luego, ssh en nuestro entorno de prueba y extraemos la rama maestra del repositorio github. No hemos entendido bienrebase, fetch otagging todavía.

Cómo me gustaría usarlo: Me gustaría poder ssh en los diferentes servidores y extraer una versión etiquetada específica, como "fase 1" en el servidor. ¿Es esto posible, o necesitaría dos repositorios de github diferentes?

Se supone quegit pulluna rama específica en los servidores web o crear un nuevo alias paragit push ¿a?

¿Puede controlar los candidatos o entornos de lanzamiento (pruebas, desarrollo, producción) dentro de un repositorio de git? o necesitas multiples?

Si tirar es la solución, ¿puedes tirar untag ?

Respuestas a la pregunta(3)

Su respuesta a la pregunta