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.

  • dan@upvote.au
    link
    fedilink
    English
    arrow-up
    15
    arrow-down
    2
    ·
    edit-2
    14 hours ago

    I’d recommend learning Git entirely locally first. Git is a distributed version control system, which means that it doesn’t need a server. All of Git’s features are available to you even with just a local repo.

    Honestly, using Github is totally fine as a beginner. Similarly, using a GUI is totally fine. Dont let people shame you into using the CLI all the time if you don’t want to. It’s good to have a high level understanding so you can deal with things when the GUIs play up, but day-to-day usage is totally fine in a GUI. I like gitg because of how simple it is, but I like the Git integration in VS Code, and Jetbrains IDEs (Rider, WebStorm, etc) too. I’ve heard good things about GitKraken but it felt a bit slow last time I tried to use it.

    When you do want to have the repo on a self-hosted server for your own use, you don’t actually need anything fancy like Gitlab or Gitea. Technically all you need to do is copy the repo from your computer onto the server and set up a Git server on it. That’s it. Git works over SSH, so you’d just add a “remote” that points to the server.

    The best place to start with that is probably the official documentation: https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols

    The repo on the server is not really any different to the one on your computer. All you’re doing when pushing is synchronizing them - pushing new changes from your local repo into the one on the server.

    Where web UIs have an advantage is that they make it easier to browse the repo, show it to others, have pull requests and CI support, etc. Lots of value-add features on top of Git itself.

    I’d highly recommend Forgejo instead of Gitea. The Forgejo site has a list of reasons why, so I don’t go over that in detail. Forgejo is what powers Codeberg, so you could try Codeberg first, then if you like it, self-host the exact same system. Note that Codeberg only allows open-source projects.