Control de versiones con Git y GitHub
Un juego de Flockbay es un proyecto de Godot en una carpeta, así que funciona con Git. El panel Version control prepara el repositorio, lo publica en GitHub y lo sincroniza con las personas con las que trabajas. Flockbay no guarda ninguna copia de tu juego.
Configurar el control de versiones
Abre el menú del juego y elige Set up version control. Git y Git LFS vienen con la app, así que no hay nada que instalar.
Escribe un .gitignore que deja fuera .godot/ y *.translation, y un .gitattributes con "* text=auto eol=lf" más reglas de Git LFS para los tipos de archivo binarios de Godot, de modo que las texturas, los modelos y el audio van a LFS y las escenas y los scripts siguen siendo texto normal. Un juego que ya tiene un repositorio lo conserva.
Tras la configuración, el menú del juego muestra Version control…, y el panel se abre con Ctrl+Shift+G.
Conectar GitHub
Elige Connect GitHub en el panel Version control o en Connectors, en Version control. Flockbay usa el device flow de GitHub: muestra un código, lo introduces en github.com en tu navegador y la app recoge el inicio de sesión.
El token se guarda en el almacén de credenciales de tu sistema operativo, en tu equipo. Los servidores de Flockbay nunca lo reciben. Revoca el acceso desde los ajustes de aplicaciones de GitHub cuando quieras.
Publicar en GitHub
Publish to GitHub pone el juego en un repositorio nuevo, o en uno vacío que ya exista, y lo establece como remoto. El repositorio puede ser privado o público.
GitHub rechaza un archivo de más de 100 MB que no esté en Git LFS. Cuando el panel encuentra uno, ofrece Move large files into Git LFS, y vuelves a hacer push.
Commit, push y pull
El panel tiene tres pestañas. Changes muestra cada archivo modificado con su diff, y Ctrl+Enter hace el commit. History lista los commits, y Restore vuelve a uno de ellos. People es donde se añaden colaboradores.
Fetch consulta en GitHub si hay commits nuevos sin cambiar tus archivos. Pull los trae, y Push envía los tuyos. Si GitHub tiene commits que tú no tienes, Push te pide primero un pull. También puedes pedirle a la IA que lea el estado, haga un commit, lea el historial o restaure un commit.
Conflictos
Un pull que cambia archivos que tú también has cambiado se detiene y los lista en Conflicts. Para cada archivo de texto elige Accept yours, Accept theirs o Ask Flockbay to merge…, que abre un chat sobre el juego con la petición de fusión redactada para que la envíes. Un archivo que no es de texto, como una textura o un modelo, se queda con uno de los dos lados.
Marca cada archivo con Mark resolved y después Finish merge crea el commit de fusión. Abort merge devuelve el juego a como estaba antes del pull.
Las escenas y los recursos son texto, así que dos personas que editen la misma escena pueden entrar en conflicto. Haz pull antes de empezar una sesión y push cuando termines.
Añadir un colaborador
People → Add GitHub collaborator… envía una invitación de GitHub a un nombre de usuario. Solo el propietario del repositorio, o un administrador, puede añadir o quitar personas. El juego tiene que estar publicado antes.
El colaborador abre el juego desde GitHub (más abajo) y trabaja en su propia copia. Cada uno hace push y pull. Flockbay no interviene en ese intercambio.
Abrir desde GitHub
En Home, Open from GitHub… lista tus repositorios y las invitaciones, marca los juegos de Godot y clona el que elijas, con sus archivos de Git LFS, en la carpeta donde van los juegos nuevos. Accept and open acepta una invitación y clona en un solo paso.
Para clonar un repositorio que no está en la lista, pega su dirección (github.com/propietario/nombre). Un repositorio público se clona sin tener GitHub conectado. Un juego con mucho arte tarda un rato, porque los archivos de LFS vienen incluidos.
Los límites de Git LFS son los de GitHub
El almacenamiento y el ancho de banda de descarga de Git LFS pertenecen a la cuenta propietaria del repositorio. GitHub Free y Pro incluyen 10 GiB de cada uno al mes. GitHub Team y Enterprise Cloud incluyen 250 GiB.
El clon y el pull de cada colaborador descargan los archivos de LFS del juego y cuentan contra el ancho de banda del propietario, no contra el del colaborador. Pasado el límite, una cuenta sin presupuesto de Git LFS se queda bloqueada hasta el siguiente mes natural. La pestaña People muestra el tamaño de LFS del juego y lo dice en una frase.
Estas son cifras de GitHub y GitHub puede cambiarlas. Consulta la documentación "Git Large File Storage billing" de GitHub para ver las vigentes.
Descarga Flockbay
Flockbay es gratis para Windows y Mac. La app está en inglés; estas páginas explican en español lo que hace cada parte.
