Conecte su propia cuenta de GitHub a un sitio y mantendremos ambos sincronizados en ambas direcciones. Es gratuito, permanece desactivado hasta que usted lo active, y solo realizamos confirmaciones en un repositorio de una cuenta que le pertenezca, nunca en una de las nuestras.
Qué se sincroniza
Cualquier cambio que realice en los archivos de su sitio se convierte en una confirmación en su repositorio, independientemente de cómo lo haya modificado: el administrador de archivos, SFTP, el editor de temas de WordPress o una sesión SSH. No tiene que avisarnos: comparamos su sitio con su última confirmación y enviamos la diferencia.
En sentido inverso, un push a su rama conectada se aplica en el sitio.
Qué cosas nunca confirmamos
Su archivo wp-config.php queda excluido, de forma deliberada y permanente. Contiene la contraseña de su base de datos y sus claves de autenticación, y estos elementos no deben estar en un repositorio, ni siquiera en uno privado, porque git conserva el historial para siempre.
También quedan excluidos: archivos .env, claves y certificados, su carpeta de subidas, cachés y node_modules. Un repositorio es el código fuente de su sitio, no una copia de seguridad. Los archivos multimedia pertenecen a sus copias de seguridad, donde ya se conservan, y ponerlos aquí haría que cada push fuera lento y que cada cambio resultara ilegible.
Qué sucede si ambas partes han cambiado
Esta es la pregunta que vale la pena leer. Supongamos que edita un archivo en el administrador de archivos y, mientras tanto, un colega envía un cambio mediante push al mismo repositorio.
Nos detenemos. No fusionamos nada y no sobrescribimos a nadie. La pestaña Implementar del sitio muestra «Su repositorio tiene cambios que no hemos visto», indica la confirmación que debe revisar y espera su decisión. No se pierde nada en ninguna de las partes mientras espera: su edición sigue en el sitio y la confirmación de la otra persona sigue en el repositorio.
A continuación, usted elige:
- Conservar los archivos de este sitio: colocamos su versión sobre la de ellos. Sus confirmaciones permanecen en el historial; no se borra nada.
- Usar el repositorio, descartar los cambios del sitio: la versión del repositorio se aplica al sitio y se descartan los cambios que usted había realizado aquí. Esta opción es destructiva, por lo que requiere un clic deliberado y nunca es algo que hagamos en su nombre.
No existe una opción de «fusionar automáticamente», y es a propósito. Una fusión realizada por nosotros generaría un archivo que ninguno de los dos escribió, en un sitio en producción, sin que ninguno lo haya visto primero.
Por qué podría detenerse la sincronización
- No ha conectado su propia cuenta de GitHub. El interruptor permanece apagado hasta que lo haga.
- Está esperando por usted. Consulte más arriba: una retención no se resuelve por sí sola.
- Su cuenta no está al corriente de pago. La sincronización se pausa y se reanuda automáticamente una vez que la facturación esté al día. No se pierde nada.
La pestaña Implementar muestra las últimas sincronizaciones, incluidas aquellas en las que nada había cambiado. Si esa lista está vacía y la sincronización está activada, lo más probable es que la cuenta conectada no pueda escribir en el repositorio: compruebe sus permisos de acceso y vuelva a conectarla.
Elegir qué se sincroniza
De forma predeterminada, se sincroniza todo el sitio. En un sitio de WordPress, esto no suele ser lo que desea: implicaría cada archivo del núcleo de WordPress, que usted no escribió y no editará. Establezca «Sincronizar solo esta carpeta» en su tema (por ejemplo, wp-content/themes/my-theme) y el resto se dejará intacto.