4 ms·
Have you ever run `rm -f important_doc.txt` instead of intended `rm -f important_doc copy.txt`? It doesn't matter if it is GUI or terminal interface, software
by p2t2p 5y ago
Have you ever run `rm -f important_doc.txt` instead of intended `rm -f important_doc copy.txt`?
It doesn't matter if it is GUI or terminal interface, software must be _humane_, forgive mistakes and provide a way out. As much as love Unix coreutils and have them in may fingertips, those are the least humane programs I have ever used.
Surprisingly, git seems quite humane, even when you screw things up it gives you a lot of safety mechanisms to recover.
- linspace 5y ago> Surprisingly, git seems quite humane, even when you screw things up it gives you a lot of safety mechanisms to recover. You have to earn it. I admit that when I started using git sometimes I made a copy of the repo just in case I ended in a state that made it easier to nuke it and start again
- renox 5y agoA copy of the repo really? I just check in everything in a new commit then write the SHA1 somewhere.
- Sophira 5y agoThe point of taking a copy of the repo is that you don't have to use git itself to get back to a known state, which is important when it's a tool that you're experimenting with and you're not sure on its use. There's also a psychological element to it. If you can verify for yourself that the repo can't possibly contain anything that would mess you up after an earlier mistake, it's much easier to do things than if you have to worry about using the wrong branch name when you don't know how to delete branches, for example.
- mst 5y ago"cp -a" was definitely a huge boon to learning git. Fear-free experimentation is a wonderful thing.
- marcosdumay 5y agoYeah, user facing filesystems should be change-based, and require elevated permissions to permanently delete data. The problem is that filesystems don't get enough love. There are plenty of more fundamental problems that aren't going anywhere, so do not expect this to change.
- ascagnel_ 5y agoI totally agree, as long as that interface gives users knowledge as to how it forgives the user. I use a Mac for work, and one of the first things I did was to alias `rm` to the utility `trash`[0] -- instead of immediately marking the bytes as free like `rm` does, it'll move the file(s) to the system's trash can. [0]: https://hasseg.org/trash/ https://hasseg.org/trash/