Git is kinda tiresome.
And so for this next software project, I'm not using it.
Granted, if you want to use git, then this post by Kevquirk is a great tutorial.
The problems I see with
git are things that evolve over time in larger codebases, or when working with people, or - perhaps most often - when people just want to keep track of changes, make a mistake, and wind up befuddled against a giant pile of weird commits, squashes where merges should be, and all sorts of other tomfoolery.
I don't like that, because if I'm wrestling with change tracking like it's Microsoft Word, I'm not contributing value to my hobby projects OR my job's projects.
And let's be real.. if "just nuke it and pull from the origin again" is the solution for a problem in a git repo that's hard to solve, and everyone has done it at least once, that might be indicative of a system that is both incredibly powerful and intensely unwieldy depending on context.
I want to cut the cruft and just keep track of stuff, when I made and changed it, and be able to represent those changes in an easy way.
This post on Changelog is a solid example of what a lot of newbies experience with Git.
So what's the alternative?
I'll borrow the talking points from their site to explain it.
- Project management: Fossil can be used for tons of stuff.
- Making a wiki
- Storing code changes while you write a computer program
- Documenting a big project with other people
- Creating a knowledge base for one of your hobbies
It's a fairly versatile program.
Built-in web interface: With one command you can turn on a whole website that runs and lives inside your computer privately. That way you can mess with it inside a browser instead of the spooky command line.
All-in-one: you don't even have to install the thing. It's one single file you download and run. There's clear instructions on how to do it.
Self-host friendly: Are you an aspiring server nerd? Fossil was practically designed for people like you. Run it at home and access it from any computer on your network. I dare you. It's fun.
Simple networking: Fossil is really lightweight. You're not going to get complaints from your teenage daughter about hogging the internet for your strange computer rituals while running this system.
Autosync: If you go far enough down the rabbit hole to work with other people, keeping everything synchronized can get really hard. Fossil is good at doing it for you.
Robust and reliable: The way Fossil stores your data helps keep it safe against power loss or system crashes.
Free and open source: Use Fossil for anything! At home or at work, alone or with friends, or whatever else! It's pretty wide-open.
So ultimately, if you're interested in this whole thing, I'd recommend once again you just go to the official Fossil website and read more for yourself.
If you are either a fledgeling coder, a hobbyist, or even a professional who's just tired of
git add . && git commit -m "please help me I don't think I squashed commits on that last PR right" && git push being a part of your daily command-line vernacular... give Fossil a try.
It's loaded with features, and it's your choice whether to use them or not.
I actually enjoy keeping track of source files again.