Flujo de trabajo de Git·

Uso de GitHub Desktop para simplificar las actualizaciones de FiveM y detectar cada cambio

Una guía sin línea de comandos para dueños de servidores de FiveM: usa GitHub Desktop para ver exactamente qué ha cambiado en una actualización, mantén tus propias ediciones de configuración y vuelve atrás instantáneamente cuando algo falle.

Introducción

Todo dueño de servidor conoce esa sensación. Sale una nueva versión de un recurso, el registro de cambios dice "reemplaza la carpeta /config/framework", y te quedas helado, porque pasaste horas ajustando esos archivos y no tienes idea de qué ha tocado realmente la actualización. ¿Sobrescribes y pierdes tu trabajo? ¿Te saltas la carpeta y te arriesgas a romper el script? ¿Copias líneas de un lado a otro a mano y esperas no haber olvidado nada?

Hay una forma mucho mejor, y no necesitas tocar ni un solo comando. Con una aplicación gratuita llamada GitHub Desktop, puedes ver exactamente qué ha cambiado en cualquier actualización, mantener a salvo tus propias personalizaciones, y volver atrás en segundos, todo a través de una interfaz sencilla de apuntar y hacer clic.

¿Qué es Git y qué es GitHub Desktop?

Git es un sistema de control de versiones — piénsalo como un historial de deshacer ilimitado y perfecto para una carpeta. Cada vez que guardas una instantánea (llamada commit), registra el estado exacto de cada archivo. Más tarde puedes comparar dos instantáneas línea por línea, restaurar un estado anterior o fusionar cambios.

GitHub Desktop es una aplicación visual gratuita que pone Git detrás de botones amigables. Sin terminales negras ni comandos que memorizar; solo una ventana clara que te muestra qué ha cambiado y te permite hacer commit, deshacer y fusionar con un clic.

Para un servidor FiveM, la carpeta que rastreas es tu directorio resources (o un script individual dentro de él). Git convierte "Creo que cambié algo aquí hace unas semanas" en "muéstrame exactamente qué cambió entre el mes pasado y hoy."

GitHub Desktop funciona completamente de forma local. No tienes que subir nada a internet; cada función de esta guía se ejecuta sin conexión en tu propia máquina o VPS. ¿Prefieres una aplicación diferente? Sourcetree, GitKraken, Fork, y el panel integrado de Control de código fuente en VS Code hacen el mismo trabajo; los conceptos a continuación se aplican directamente.

Por qué esto es perfecto para las actualizaciones de recursos

Actualizar un script de la forma tradicional significa trabajar a ciegas. Git te da tres superpoderes:

  1. Detección de cambios — tras instalar una nueva versión, GitHub Desktop resalta cada archivo cambiado y cada línea modificada. El registro de cambios te indica qué carpetas reemplazar; Git te muestra qué ha cambiado realmente para que puedas confiar en ello.
  2. Personalización segura — tus ediciones viven en los commits. Cuando una actualización de un proveedor toca el mismo archivo, Git puede fusionar los dos conjuntos de cambios, manteniendo los tuyos y los de ellos.
  3. Reversión instantánea — si una actualización rompe tu servidor, estás a un clic de distancia del estado exacto que tenías hace cinco minutos. Sin el pánico de "¿dónde puse esa copia de seguridad?".
Esto combina perfectamente con recursos protegidos por escrow como Sky-Systems. La carpeta encriptada source/ nunca cambia en tu lado, mientras que todo lo que realmente editas reside en la carpeta de texto plano config/. Git rastrea config/ de maravilla, que es exactamente donde colisionan tus personalizaciones y las actualizaciones del proveedor.

Configuración única con GitHub Desktop

Solo haces esto una vez por servidor.

Instalar GitHub Desktop

Descárgalo e instálalo desde desktop.github.com. Puedes omitir o cerrar el aviso de inicio de sesión; solo se necesita una cuenta en línea si alguna vez quieres hacer una copia de seguridad en GitHub, lo cual esta guía no requiere.

Añadir tu carpeta de recursos

En la barra de menú, haz clic en File → Add local repository (añadir un repositorio local), luego en Choose… y selecciona tu carpeta resources.

GitHub Desktop notará que aún no está rastreada y mostrará: "This directory does not appear to be a Git repository." Haz clic en el enlace "create a repository" que ofrece. En la siguiente pantalla, deja los valores predeterminados y haz clic en Create repository.

Protege tus secretos

Un FiveM servidor contiene datos sensibles que nunca deben guardarse en tu historial. En GitHub Desktop, abre Repository → Repository settings → Ignored files y añade reglas como estas:

# Never track secrets
**/*.env
**/secrets.lua
server.cfg

# Caches, logs, build output
**/cache/
**/logs/
**/.DS_Store

También puedes hacer clic derecho en cualquier archivo en la lista Changes y elegir Ignore file (o Ignore all files of this type) — GitHub Desktop lo añade a .gitignore por ti.

Nunca realices commits de credenciales. Las contraseñas de la base de datos, tu sv_licenseKey, los secretos de Tebex, los tokens de Discord y las URLs de los webhooks deben permanecer fuera de Git. Añádelos a la lista de ignorados antes de tu primer commit; una vez que algo se ha subido al historial, permanece en él.

Realiza tu primera captura

Cambia a la pestaña Changes (barra lateral izquierda). Todos los archivos aparecerán en la lista. En el cuadro Summary de la parte inferior izquierda, escribe algo como Baseline: working server before updates, luego haz clic en Commit to main.

Listo. Ahora tienes una red de seguridad para todo tu servidor.

No publiques tus recursos de pago. Si GitHub Desktop ofrece alguna vez un botón azul de "Publish repository", no lo toques para cualquier script con licencia o protegido por escrow. Subir esos archivos a un repositorio público infringe la licencia y expone contenido de pago. Mantén el repositorio solo en local.

El flujo de trabajo de actualización

Esta es la rutina que repites para cada actualización. Tarda aproximadamente un minuto.

Realiza el commit de tu estado actual

Abre GitHub Desktop y comprueba la pestaña Changes. Si aparece algo en la lista, hazle commit primero con un resumen como Pre-update snapshot, para que la actualización se distinga claramente. Si la lista está vacía, estás listo.

Instala la nueva versión

Detén tu servidor y luego extrae la nueva versión del recurso encima de los archivos antiguos, sobrescribiéndolos — exactamente como indica el registro de cambios (por ejemplo, "reemplaza la carpeta /config/framework"). No te preocupes por perder nada; tu estado anterior está guardado de forma segura mediante un commit.

Mira exactamente qué ha cambiado

Vuelve a GitHub Desktop y abre la pestaña Changes. Este es el momento mágico: cada archivo que la actualización ha tocado aparece en la lista, y al hacer clic en uno se muestran sus cambios línea por línea — líneas eliminadas en rojo, líneas añadidas en verde.

Ahora puedes leer con precisión qué ha hecho la actualización — nuevas opciones de configuración, valores predeterminados cambiados, claves renombradas — en lugar de adivinar.

Echa un vistazo a la lista de archivos y compárala con el registro de cambios. Si el registro de cambios dice que solo han cambiado config/framework y config/banking, esas deberían ser las carpetas que ves aquí. Cualquier cosa inesperada merece una mirada más cercana antes de hacer el commit.

Reconcilia tus personalizaciones

Si la actualización ha sobrescrito un archivo que habías personalizado, el diff mostrará tus ajustes en rojo (eliminados) y los valores predeterminados del proveedor en verde (añadidos). Abre ese archivo en tu editor, vuelve a aplicar tus valores — el diff muestra exactamente qué líneas — y guarda. GitHub Desktop actualiza la comparación en tiempo real mientras escribes.

Para una reconciliación totalmente automática, consulta el Consejo Pro de abajo.

Haz el commit de la actualización

Una vez que todo parezca correcto y tu servidor arranque sin problemas, vuelve a la pestaña Changes, introduce un resumen como Update sky_base to 1.21.0 y haz clic en Commit to main.

Ahora tienes un punto de control etiquetado al que siempre puedes volver.


Cómo volver atrás cuando algo falla

¿La actualización se comporta mal? Mantén la calma: GitHub Desktop te ofrece varias opciones, desde suaves hasta nucleares.

Deshacer cambios sin confirmar. En la pestaña Changes, selecciona los archivos (o todos ellos), haz clic derecho y elige Discard Changes / Discard All Changes. Esto los restaurará a tu último commit.

Vuelve a un snapshot anterior. Abre la pestaña History (historial) en la barra lateral izquierda para ver cada snapshot que hayas creado:

  • Para deshacer de forma segura una actualización manteniendo un registro limpio, haz clic derecho en el commit erróneo y elige Revert Changes in Commit. Esto crea un nuevo commit de "deshacer"; nada se pierde.
  • Para retroceder completamente a un estado anterior, haz clic derecho en el snapshot que desees y elige Reset to commit.
Reset to commit retrocede tu proyecto a ese snapshot. Primero, realiza un commit o un stash de cualquier cosa que aún quieras conservar. En caso de duda, prefiere Revert Changes in Commit — es la opción no destructiva.

Guarda temporalmente tus cambios — útil para probar una actualización con un lienzo limpio y luego recuperar tu trabajo. Haz clic derecho en el encabezado Changed files y elige Stash All Changes. Para recuperarlos, selecciona Stashed Changes en la barra lateral y haz clic en Restore.

GitHub Desktop mantiene un stash a la vez — realizar un nuevo stash reemplaza al anterior. Úsalo para desvíos cortos y temporales, y usa commits para cualquier cosa que quieras conservar.

Consejo profesional: Auto-Merging de actualizaciones de proveedores

¿Cansado de volver a aplicar tus ediciones de configuración a mano tras cada actualización? GitHub Desktop puede hacerlo por ti mediante una fusión de tres vías.

La idea: mantén una rama con versiones de proveedores prístinas y otra con tus ediciones encima.

Crear una rama de proveedor

Haz clic en el desplegable Current Branch en la parte superior, luego en New Branch, y ponle el nombre vendor. Esta rama solo contendrá archivos de proveedores sin tocar.

Registra cada lanzamiento en la rama del proveedor

Cuando salga una nueva versión, cambia a la rama vendor (menú desplegable Current Branch), extrae los archivos de la versión sin modificar encima de los actuales y luego haz un commit con un resumen como Vendor sky_base 1.21.0.

Fusiona la actualización con tus ediciones

Vuelve a tu rama main (menú desplegable Current Branch). Luego abre Branch → Merge into current branch…, selecciona vendor y haz clic en merge.

GitHub Desktop combina automáticamente los cambios del proveedor con tus personalizaciones. Solo se detiene para preguntarte cuando una actualización cambia las mismas líneas exactas que tú has personalizado, y muestra una pantalla clara para resolver esos pocos puntos. En todo lo demás, ambos conjuntos de cambios se conservan para ti.

Esta es la misma técnica que utilizan los equipos profesionales para rastrear librerías externas sin perder los cambios locales, y funciona igual de bien para tu servidor.


¿Prefieres la línea de comandos?

Si te sientes cómodo en una terminal, todo el flujo de trabajo anterior se traduce en un puñado de comandos:

# One-time setup (run inside your resources folder)
git init
git add .
git commit -m "Baseline: working server before updates"

# Each update
git add . && git commit -m "Pre-update snapshot"   # snapshot first
# ...drop in the new release, overwriting files...
git status            # which files changed
git diff --stat       # a compact per-file summary
git diff              # full line-by-line changes
git add . && git commit -m "Update sky_base to 1.21.0"

# Rolling back
git restore <file>    # undo changes to one file
git restore .         # undo all uncommitted changes
git log --oneline     # find a snapshot
git reset --hard <id> # rewind to it (destructive)
git stash / git stash pop   # shelve and restore temporarily

Mejores prácticas

  • Haz un commit antes de cada actualización. Una captura instantánea tarda dos segundos y te ahorra horas.
  • Escribe resúmenes claros. Update sky_base to 1.21.0 es mejor que stuff cuando estés revisando el historial seis meses después.
  • Mantén los secretos ignorados. Las credenciales nunca deben estar en el historial de versiones.
  • Haz un commit después de un arranque limpio, no antes. Etiqueta una captura como "buena" solo cuando el servidor realmente funcione.
  • Rastrea toda tu carpeta resources en un solo repositorio. De esa manera, un solo rollback puede recuperarte de una actualización fallida de cualquier script.
  • Manténlo local. Nunca publiques recursos con licencia o protegidos por escrow en un repositorio público.

Conclusión

Actualizar un servidor FiveM ya no tiene por qué significar conjeturas, pérdida de personalizaciones y búsquedas frenéticas de copias de seguridad. Con una configuración única de GitHub Desktop y una rutina de un minuto, puedes ver cada cambio que realiza una actualización, mantener intactas tus propias ediciones, y deshacer cualquier error al instante — todo sin escribir un solo comando.

La próxima vez que un registro de cambios te pida reemplazar una carpeta, lo harás con confianza, porque GitHub Desktop te mostrará exactamente qué ha cambiado, cada vez.