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…
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.
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
Why do we use versioning for code instead of backups? Simple, versioning is better than backups for almost all text files, since it’s a granular backup with change messages etc.
You can ask the same question about code.
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 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.
In my experience, it’s shockingly useful. For example, maybe I want to try out a new set of Emacs packages. I can make a branch, mess around for a bit, and even keep that configuration for a week or two. Then if I find out it’s not good, I can switch back