this post was submitted on 19 Jun 2026
301 points (98.7% liked)
Linux
65897 readers
1072 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
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 7 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I've only a basic understanding of using Git myself, but I think I'm gonna learn it with a self-hosted Forgejo for my Godot projects too.
Then for the parts that don't have feature parity, I won't know what I'm missing, and I have no need for "iNdUsTrY sTaNdArD LeAdiNg oPtiMiZeD sYnErGyStiC wOrKfLoWs" or whatever hahaha.
It does definitely present a conundrum if you want people to see your open source software though. Damn network effect. =\
The number one thing to remember about git is that you don't need a full hosting service around it for basic functionality. If it's just you, a single local repo will probably serve you just fine, maybe use a bare repo on your main machine or a Pi-level device if you like as a remote/backup. Just
git initorgit init --bareand you're good to go. GitHub, Codeberg, Forgejo, and all the others exist to serve multi-contributor and/or public project-level needs.The number two thing to remember is that it is based around graph theory.
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." 😂
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
.gitdirectory that holds all the files/blobs/history that git needs to work. A bare repo is just the.gitas a top directory withbare=truein its config. So you can use it as a remote, but it never has a working set. They are usually named something likemy_repo.git.Edit:
Here’s a basic example for setting it all up in a fully local way:
And then you have remotes as your main source of truth in
~/baresand your working copies in~/code. If you want to access from another machine that has ssh access to the first, you can do:And then use git pull/push to keep it all in sync. Don’t use Syncthing on a git repo, it eventually goes badly.