Long story short: I’m starting on gamedev and want to get accustomed to version control without taking too much time learning about it
I know this is kinda asking to be spoonfed the answer, but truth is I don’t have a lot of free time and wish to focus mine on not losing interest in this new hobby (I know getting stuck on details and scope is one of the main pitfalls of new gamedevs). I also want to get used to do things the right way (otherwise I wouldn’t even be thinking about it this early) anywhere I can that isn’t too distracting from the goal. At least I’m contributing discussions to the community.
I know there are a few self hosted git options, but I don’t really understand much of what using git is like, technically I “learned” to use github for version control when doing a web dev course but I couldn’t keep a single part of that segment in long term memory.
I am looking for something I can host on my server and that I can push to from godot or a gui client (from linux). I am looking to selfhost partly for the giggles (if it’s somehow too complicated I’m willing to give up on that part) and partly because I don’t want to keep my stuff on someone else’s server if I can avoid it. I’m also trying to avoid having to learn about how to properly use it for as long as I can.
I think I’ve read about gitea on here before? I’d rather avoid ai-assisted projects because of the low commitment threshold to push updates, I’m pretty sure they’re more likely to give up with the updates than caffeine fueled coders thanks to the sunk cost fallacy.
I don’t plan on publishing anything on the time being, maybe after a while I might look into it more and use a proper service, one of my long term goals is making a foss game that people want to play, but that’s long down the road, I rather learn how to make games first.
This may sound terse, but I’m just trying to respect your time:
- You don’t need a server to start using git
- You don’t need a forge to host a git repository (gitweb works fine for indexing, reading, and cloning). Gitea, gitlab, forgejo, etc are all forges designed for full multiuser development with kaban boards, issue trackers, and CI pipelines.
- If you aren’t publishing anything then just play around locally with an IDE plugin for git or one of the listed GUIs https://git-scm.com/tools/guis
If you ever do feel like publishing your work, it’s just a
git remote addandgit pushaway.[I] want to get accustomed to version control without taking too much time learning about it
Plz send the codes! 🙄
You don’t actually need a git “server” if you’re not planning to share your code with anyone.
Check out this site https://gitmastery.me/ it makes it a game to learn git. There are some core concepts that are 90% of what you need to know. Most everything else is specific issues and strategies. If it’s just you.working on a project you can get away with learning commits, pushing, branching, and merging.
Since you are a Game Dev, Oh My Git! is a game about learning Git in a slay the spire style, not the most polished product, but it’s pre ai.
If you want to explore the self-hosted option (you shouldn’t feel pressured to), I recommend Forgejo. It’s a fork of Gitea that powers Codeberg (and other git forges)
Gitea is great, it took me about an hour or so from not knowing anything about it to having a full docker container up and running. If you are not too accustomed to self hosting I would caution against thinking it will be easy to have the server accessible to the internet as that assumption is incredibly wrong.
If you want to learn how to do it in a way that doesn’t screw you in the future, I would shy away from the GUI side of things, everyone who helps with issues related to git operates under the assumption that you are familiar with the CLI so if you don’t want to have to translate CLI commands to their respective actions in the GUI, I would bite the bullet and learn the commands.
You can use git over ssh with no other infrastructure. It’s less work, and you’ll learn more from doing it.
I’d recommend using Perforce over Git. Perforce in my opinion is easier to understand and use, as well as more widely used in the game industry.
The big difference between the two is centralized vs decentralized, Perforce being centralized and Git being decentralized. Plainly put P4 is one server with clients checking files in and out from it and tracking those changes, where Git is multiple servers merging their changes together.
In your use case here both are free to use. You should keep in mind that P4 wants to run on bare metal as you mentioned hosting this in your own server, so if you were thinking of spinning up something in proxmox or docker you may run into issues.
Whatever you use, making sure you have meaningful commit messages is the most important thing, especially if you’re going to be working with others. A brief idea of why a file was a changed six months ago is much more helpful than a commit message that says “…” or “updated”.





