Recientemente cambiamos de SVN a Git y al mismo tiempo pusimos nuestros sistemas en vivo en control de versiones (en lugar de pago local y copia de archivos en vivo).
En el proyecto al que estoy asignado, todos accedemos al mismo repositorio y para obtener cambios en vivo, solo estamos git pull
allí. Esto causa problemas porque nuestros diseñadores web introducen cambios en el VCS que aún no deberían estar activos pero deberían estar en el entorno de prueba web.
Cuando uno de los desarrolladores ahora entra en vivo, recibe todos los cambios (posiblemente sin terminar).
Pensé en cambiar en vivo a una rama adicional y fusionar lo que cambió, pero debido a mi falta de conocimiento git, no tengo idea de cómo.
Mi idea es:
- Cree una nueva sucursal en live (
git branch live
). - Cada vez que algo tiene que ir a vivir
- Cambios tirar de maestro (como:
git checkout master; git pull; git checkout live
) git merge master
- Cambios tirar de maestro (como:
El problema es que cambiar a maestro o arrastrar todo directamente al sistema en vivo causaría problemas, por lo que preferiría evitar esto.
¿Hay alguna manera de hacer esto o hay una mejor manera de administrar el sistema Live (excepto para entrenar a los webbies para que no empujen cosas inacabadas)?
git checkout -f
para ignorar el problema, ¡pero haga una copia de seguridad!
git pull --all
de forma predeterminada, no extraerá master en vivo, extraerá master y lo fusionará con master, y (si existe en el servidor) extraerá live para combinar en live. ¿Lo intentaste?