Despite the fact that Git is considered to be a developer-only tool, it has a lot of uses for non-developers too. It's also not just restricted to the likes of GitHub and GitLab, as you can run your own Git server through the likes of Gitea on your NAS. As for why you would, there are a few reasons to. Some are for developers, and some just make your life easier, especially when it comes to productivity thanks to version control.

4 Enhanced security, privacy, and code ownership

You own everything

First and foremost, as is the case with anything you self-host, you control it. The data is yours, and you decide what to do with it. A company can't process your data for marketing purposes, and your data is only at risk if you insecurely store it. That might seem like a lot of pressure, but for anyone who's up to the task, it can be an educational project with massive benefits at the end of it.

Especially for developers, trusting platforms like GitHub can be difficult. GitHub's Copilot (an AI-powered pair programmer) was trained on public repositories on the platform, which led some developers to leave the platform following its announcement. While the company maintains that it was only trained on those public repositories, some developers no longer trust it.

If you have concerns about GitHub training its models on your private repositories in the future, or you simply don't want to use the company's services anymore, then self-hosting your own Git server is a great way to continue using version control in your projects.

3 Track changes as you make them

You can go back to older versions with ease

While developers are used to using Git so that they can keep on top of their code changes and revert changes if they need to, the same concept can be applied to anything you work on that might take time. For local documents, as an example, you can use version control systems like Git to keep on top of the changes you make.

This can be great if you want to go back to an older version of a document, especially if you're working in something that doesn't keep previous versions. Even for any local note-taker application, you can track changes as you make them so you can go back to older versions of your notes. And, if your notes are sensitive, you don't need to worry about them being stored somewhere in the cloud. You control your data.

This can be useful for all kinds of projects. From video editing projects, to music production projects, to documents, Git is a great way to keep on top of changes and track them, giving you the ability to revert to an older version if you need to.

2 Integrate with your existing services

Obsidian with Nextcloud is a great example

If you wanted, you could integrate your Git server with your other services. For example, imagine a Gitea server on your NAS that stores your files in a folder that Nextcloud can access. You push your updated Obsidian Vault with Git to Gitea, and you can then access that vault on your NAS for later retrieval to other devices.

These kinds of systems are pretty easy to set up, especially with the likes of TrueNAS. You don't even need to pay for an Obsidian Sync subscription, as Obsidian's architecture allows you to simply back up its files and move them elsewhere if you need to. Git can automate portions of it for you, and Nextcloud can allow you to access it later on.

These systems take some time to set up, but they're relatively trivial. The same goes for any other kind of service you can imagine might be worth syncing with Git; you get the benefits of version control with the ability to see what you've changed over time, and you can access your files from anywhere.

1 Easily collaborate

Easily see where changes were made

If you're working on a group project and want to collaborate on it, your own Git repository can simplify things significantly. It may not be perfect for documents, but it can work, and you can also manage other projects with it, too. Between all the kinds of projects we've mentioned previously and more, Git simply works with anything that stores project progress in files.

For simple projects that I want to collaborate with others on, I'd use Git for most things given my familiarity with it. Building a project plan with someone else is a great example of that, but really, anything that requires project files will work perfectly. Git will handle the versioning for you, and you can add messages to your commits that clearly outline what you changed when you synchronize your files.

Git is great for collaboration in a development sense, but the benefits it provides to users for collaborating on all kinds of things are simply unmatched.

Git may be for developers, but it has other uses too

If you're a tech enthusiast with a NAS, then you probably have at least heard of Git. It's not just something developers can use, but it has real uses for anyone who wants to collaborate on projects or keep track of changes that they make to their files and documents. Give it a try, and you'll wonder why you didn't use it sooner.