318
submitted 2 days ago by Dymonika@lemmy.ml to c/linux@lemmy.ml

Sure, I know a lot of projects have been on GH since before MS bought it, but they've owned it for quite a while now, so we really should be seeing better migration out by now, no?

Codeberg is nonprofit which seems more in the spirit of the Linux ecosystem overall. GH is for-profit...

you are viewing a single comment's thread
view the rest of the comments
[-] MonkeMischief@lemmy.today 2 points 1 day ago

That's some really helpful advice, thank you! 😃 I actually didn't know you could just make any local folder a repo like that.

Would a Forgejo instance still be helpful if I wanted to have "one point of truth" between multiple machines even if I'm the only dev? I already use Syncthing, but for some reason I feel like there'd be a lot of sync conflicts and stuff.

The other main reason for wanting to learn Git, of course, is because it's otherwise more difficult to try out changes to scripts and experiment, without finding yourself lost in the weeds and forgetting what worked last.

My current "version control" is "copy the entire project folder before you do anything major." 😂

[-] BartyDeCanter@piefed.social 2 points 1 day ago* (last edited 20 hours ago)

If you just want one point of truth, the minimal version is to create a bare repo somewhere that you have ssh access to or your local machine. Then you can clone/pull/push from it.

A bare repo is a special kind of repo meant for exactly this, but can be a bit confusing at first. A normal repo contains all of your current working files and a special .git directory that holds all the files/blobs/history that git needs to work. A bare repo is just the .git as a top directory with bare=true in its config. So you can use it as a remote, but it never has a working set. They are usually named something like my_repo.git.

Edit:

Here’s a basic example for setting it all up in a fully local way:

mkdir ~/bares  
git init --bare ~/bares/my_repo.git  
mkdir ~/code  
git clone ~/bares/my_repo.git ~/code/my_repo  

And then you have remotes as your main source of truth in ~/bares and your working copies in ~/code. If you want to access from another machine that has ssh access to the first, you can do:

mkdir ~/code  
git clone user@host:~/bares/my_repo.git ~/code/my_repo  

And then use git pull/push to keep it all in sync. Don’t use Syncthing on a git repo, it eventually goes badly.

[-] MonkeMischief@lemmy.today 2 points 5 hours ago* (last edited 5 hours ago)

This was really informative, thank you so much for taking the time! Definitely bookmarking this. :)

I was looking up further why you'd use a bare repo over a standard one. Somebody said for just sharing a repo between users, "snapshots just take up unnecessary space."

...But would that mean you can't roll back history? Maybe I'm ignorant on the term snapshot in Git context lol.

But yeah, I really appreciate the post and I think that'll get me on the right foot, to actually developing games instead of setting up yet another tool and procrastinating what I want to actually be doing anyway. 😂

Glad my instinct was correct about not using Syncthing for this purpose. XD

[-] BartyDeCanter@piefed.social 2 points 3 hours ago* (last edited 3 hours ago)

Happy to help! And yes, I have no idea what they’re talking about. If you don’t have snapshots (commits) you don’t have version control.

Let me know when you get your game going, I’d love to check it out. I’m working on a few myself.

this post was submitted on 19 Jun 2026
318 points (100.0% liked)

Linux

65905 readers
635 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 7 years ago
MODERATORS