Your project

Version control with Git and GitHub

A Flockbay game is a Godot project in a folder, so it works with Git. The Version control panel sets the repository up, publishes it to GitHub, and syncs it with the people you work with. Flockbay keeps no copy of your game.

Leer en español

Set up version control

Open the game menu and choose Set up version control. Git and Git LFS ship with the app, so there is nothing to install.

It writes a .gitignore that leaves out .godot/ and *.translation, and a .gitattributes with "* text=auto eol=lf" plus Git LFS rules for Godot's binary file types, so textures, models and audio go to LFS and scenes and scripts stay ordinary text. A game that already has a repository keeps it.

After setup the game menu shows Version control…, and the panel opens with Ctrl+Shift+G.

Connect GitHub

Choose Connect GitHub in the Version control panel or in Connectors, under Version control. Flockbay uses GitHub's device flow: it shows a code, you enter it on github.com in your browser, and the app picks up the sign-in.

The token is stored in your operating system's credential store on your computer. Flockbay's servers never receive it. Revoke access from GitHub's applications settings whenever you like.

Publish to GitHub

Publish to GitHub puts the game in a new repository, or in an existing empty one, and sets it as the remote. The repository can be private or public.

GitHub refuses a file over 100 MB that is not in Git LFS. When the panel finds one, it offers Move large files into Git LFS, and you push again.

Commit, push and pull

The panel has three tabs. Changes shows each changed file with its diff, and Ctrl+Enter commits. History lists the commits, and Restore goes back to one. People is where collaborators are added.

Fetch checks GitHub for new commits without changing your files. Pull brings them in, and Push sends yours. If GitHub has commits you do not, Push asks you to pull first. You can also ask the AI to read the status, commit, read the history or restore a commit.

Conflicts

A pull that changes files you changed too stops and lists them under Conflicts. For each text file choose Accept yours, Accept theirs, or Ask Flockbay to merge…, which opens a chat on the game with the merge request drafted for you to send. A file that is not text, such as a texture or a model, can only accept one side.

Mark resolved each file, then Finish merge makes the merge commit. Abort merge puts the game back to how it was before the pull.

Scenes and resources are text, so two people editing the same scene can conflict. Pull before you start a session, and push when you stop.

Add a collaborator

People → Add GitHub collaborator… sends a GitHub invitation to a username. Only the repository's owner, or an admin, can add or remove people. The game has to be published first.

The collaborator opens the game from GitHub (below) and works on their own copy. You each push and pull. Flockbay is not in the middle of that exchange.

Open from GitHub

On Home, Open from GitHub… lists your repositories and any invitations, marks the Godot games, and clones the one you pick, with its Git LFS files, into the folder new games go in. Accept and open takes an invitation and clones in one step.

To clone a repository that is not in the list, paste its address (github.com/owner/name). A public repository clones without GitHub connected. A game with a lot of art takes a while, because the LFS files come with it.

Git LFS limits are GitHub's

Git LFS storage and download bandwidth belong to the account that owns the repository. GitHub Free and Pro include 10 GiB of each a month. GitHub Team and Enterprise Cloud include 250 GiB.

Every collaborator's clone and pull downloads the game's LFS files and counts against the owner's bandwidth, not the collaborator's. Past the allowance, an account with no Git LFS budget is refused until the next calendar month. The People tab shows the game's LFS size and says this in one sentence.

These are GitHub's numbers and GitHub can change them. See GitHub's "Git Large File Storage billing" documentation for the current ones.