The Git staging area hinders experimentation
What is Git staging area Unlike the other systems, Git has something called the “staging area” or “index”. This is an intermediate area where commits can be formatted and reviewed before completing the commit. … This allows you to stage only portions of a modified file. From https://git-scm.com/about/staging-area. There are three different “repository states” in Git: the HEAD, the staging area, and the working tree. The HEAD represents the commit that you have checked out, which is the latest saved snapshot of your project. The HEAD state is stored in the Git object store and can be recovered using the command git reflog. The working tree represents the current state of the project in the file system. The working tree state is not persistent; commands such as git status generate the working tree state on the fly by reading the file system metadata. The staging area stores the changes that you want included in the next commit. However, the staging area itself is not recoverable. If you modify the staging area with commands like git add, the previous staging area is gone forever. ...