I’ve lost everything and I don’t know how to get it back. How can I repair my system all I have is a usb with slax linux. I am freaking out because I had a lot of projects on their that I hadn’t pushed to github as well as my configs and rice. Is there any way to repair my system? Can I get a shell from systemd?
Why version them if you could simply have backups? I rarely want old config files…
Versioning is one of those things that you don't realize you need until it's too late. Also, commits have messages that can be used to explain why something was done, which can be useful to store info without infodumping comments into your files.
Why versioning and not backups? I get the part of commit messages, but that's hardly worth the effort for me. If I have a config file which works, I usually keep it that way. And if it stops working, my old documentation is outdated anyway.
you just push the git repo to a remote somewhere and that's your backup
I use etckeeper to autocommit changes in /etc as git just has better and faster tools to look at the changes of a fle, compared to backup tools.
It's just so easy to do that there hardly is any point in not doing it.
I don't know about you, but I tend to make lots of little changes to my setup all the time. Versioning makes it easy to roll back those individual changes, and to tell which change broke what. Sure, you could accomplish the same thing with backups, but versioning offers additional information with negligible cost.
Why not stick them in a git repo?
Because the benefit gets lost if there are lots of autogenerated config files. Someone else said 'stick only the files you write yourself in the repo' and I guess that's a better idea than to stick all of them in a repo.
I also rarely want old versions of my code, but I still use git. A very nice feature, besides the essential backup quality, is to synchronize dotfiles between machines and merge configs together if they diverge.
I sync them with Syncthing and can also access backups of the old files. I can also merge them with merge tools and create tagged versions with git. Most of the time I don't and I can't think of any instance where I used git to compare an old version with a newer config file. I get why we should version code, but config files for most desktop programs are hardly worth tracking because of the frequent intransparent changes.
I only track the dotfiles which I actually write, not the generated ones. So it's not so different from code. Desktop programs which generate intransparent config files suck. I only wish there was a good way to synchronize my Firefox using git. I know there is user.js but it all seems like a mess to me.
That's the way. Thank you.