git is a poorly designed tool
I teach a course in Free Software and Collaborative Development. Every single student eventually messes up their repo, no exceptions. Fixing it up is a huge motivation to learn more advanced git commands and this is now part of the course 😅
The hallmark of a poorly designed tool: makes it easy to screw up, and difficult to fix.
And it may me see Git with a different light. I have been in love with git for a while already, but never pondered the real benefits and disadvantages of the tool itself. The fact that so many people was suddenly doing version control, the onset of Github , Bitbucket , and Gitlab , in my view it was already a win.
However, taking a deep thought, it is true that git is very error prone. I had to help a lot of people in different context trying to revert back something wrong with Git. In many cases the quickest way was to delete the folder and get a fresh clone out of the remote server. Even tough a valid approach, it points to the fundamental flaws of the tool.
I started working on the idea of of a book about Git for Scientists . I need to reflect deeper on the subject, since it may be that I need to add plenty of topics to avoid/correct mistakes and not just the linear, straightforward approach that most content online shows.