“github” (despite the name) is just a 3rd party service built on top of git. Actual git
is a command line tool that’s free software (in both the “freedom” and “beer” senses), and you can use it without github or gitlab or gitea or any of the other “forges” people have built on top.
If you’re just using git yourself or in a small group, github can get in the way as much as it helps; as long as all the machines that need dev copies of your game repo can see each other over ssh
(secure shell), you can use git to do distributed development without a forge.
The forges (github, gitlab, gitea…) add features like issue tracking and pull requests that you might want, and can make things conceptually slightly easier for you if you aren’t used to the idea of distributed revision control without a single source of truth centralized server. They also come with costs; with the business-run forges like github (which is a Microsoft subsidiary now…) you have regular pressure to move up to paid tiers, along with the fair certainty that in the background they’re training AI off your work without compensation. Like any SaS thing, they also have the usual papercuts; UI churn, lack of control over upgrades and changes, all that.
You can get away from that by running your own copy in your own server (gitea works this way, I think you can do this with gitlab too), but then someone on your project is accepting at least lightweight sysadmin duties. You’ll also almost certainly need a server running docker somewhere.
git
works just fine on its own; I’m doing godot dev here on a couple of linux boxes, a windows machine, and a NAS. The NAS is just a linux box. I created the repo on the NAS as a bare repo through a secure shell connection using git init
. On the other machines, I use git clone
to get a new copy of the repo, git status
to see what’s changed, git pull
to pull in changes, git add
, git commit
and git push
to push them out.
I use the NAS because it’s convenient and always on, but I could push/pull directly between my dev machines, or even between different copies of the repo on the same machine.
You can totally use github if that’s what works for you, but you can also use git without it.