this post was submitted on 10 Oct 2025
4 points (83.3% liked)

Godot: The open source game engine

249 readers
2 users here now

A community for discussion and support in development with the Godot game engine.

founded 2 years ago
MODERATORS
 

Hello all! I am not a software developer, but am interested in game development and making my own games. After restarting due to switching PCs/Operating Systems, I was recommended to setup version control to keep track of changes and to share the project with a friend who is also interested in it with me. I've heard to steer away from Github from proprietary reasons and they have been stealing users code (?), and as recommended Codeberg.

My question really comes down to: could someone please explain or give instructions for how to set this up so I can easily make changes after each working session? I come from a product development engineering background where we have technical drawings where revisions are made, approved, and saved (Rev A, Rev B, Rev C, etc.) with documented changes between each revision of a single file/drawing. However, I don't understand setting up a project and navigating older/newer versions where there are hundreds of separate files all being updated and changing constantly.

top 11 comments
sorted by: hot top controversial new old
[–] lukecooperatus@lemmy.ml 4 points 4 months ago (2 children)

Codeberg uses git too, so a lot of what you would have done with GitHub will still work.

Pretty much any git tutorial will serve you well, it's (mostly) all the same commands regardless of whether your project is game development or a fantasy novel.

Some resource suggestions:

The only real difference in game development might be if you end up with super large files (some blender files, certain assets, etc) then you can look into git-lfs as well. https://git-lfs.com/ That's not always necessary, and it can be added later on, so you don't need to worry about it until you need it.

[–] WR5@lemmy.world 1 points 4 months ago* (last edited 4 months ago) (1 children)

Okay great, thank you for the resources! Do you know how I would access Git/Codeberg older versions of the same file? For instance, if I have a player script and save it today then work on it and do a different version next week, would I be able to see the 2025-10-10 version and also the 2025-10-17 version?

[–] lukecooperatus@lemmy.ml 1 points 4 months ago (1 children)

I assume by AI you mean NPC behavior scripts? Those would be versioned the same as any other file in your repository, so if you wanted to revert to an old version you can do so through git.

Generally you wouldn't do that at runtime, though. At least, it's "technically possible" but I've never heard of a game that did that and I can't see the utility in it myself. Usually you make a distribution build from a single revision of your source files, and then maybe commit that resulting build file to version control.

[–] WR5@lemmy.world 1 points 4 months ago* (last edited 4 months ago) (1 children)

No, it was a typo. I just meant how "I" would access them. Like would I be able to scroll through and select 2025-10-10 in a list?

[–] be_gt@lemmy.world 1 points 4 months ago (1 children)

Yes, IF you use an UI application for git it is that easy. You can then see which commit was made at the wanted date & time. But even better would be to use branches for each different feature of the scripts. They can be merged as needed.

[–] WR5@lemmy.world 1 points 4 months ago (1 children)

Okay great! Do you have any recommendations for a GUI for Linux?

[–] lukecooperatus@lemmy.ml 3 points 4 months ago (1 children)

Personally I find it easier to just use the command line for git. None of the GUI apps are particularly good on any OS, in my experience. Often they will screw something up and you have to fix it in the command line anyway, so might as well just learn the command line from the start, IMO.

However, there are extensions for Nautilus (the GNOME Files app) that works decently for helping you know the status of your files that are tracked in git: https://gitlab.gnome.org/philippun1/turtle or https://github.com/rabbitvcs/rabbitvcs (though I think RabbitVCS might be abandoned)

If you're using vscode already, there are some decent git plugins for that which work okay.

[–] WR5@lemmy.world 1 points 4 months ago

I've been using Godot specifically and writing in the script editor there. Is that okay?

[–] WR5@lemmy.world 0 points 4 months ago (1 children)

Another question, you mentioned the blender files. I assume it does the same thing for blender files. Like if I have models of three characters and I go and change one then save the project again, it would show the original first two, the original last one, and the changed last one? Or does it save and update a copy of every file whether or not it's been changed?

[–] lukecooperatus@lemmy.ml 2 points 4 months ago* (last edited 4 months ago) (1 children)

Git only tracks changes, and only when you tell it to. The tutorials I linked above will go through this much better, but essentially you tell git once to "add the files in this folder to version control". After you make changes to one or more of those files, you tell git "commit these changes to version control".

Committing doesn't happen automatically when you save as you're editing the files, it's a separate step that you control in whatever order you wish. So, you could make one new commit every time you edit each file, or make one new commit that includes every file from a whole day's worth of changes. It's up to you.

[–] WR5@lemmy.world 1 points 4 months ago

Oh interesting. And I only commit certain files at a time then, not a whole project folder?