Ever since a file is added to source control, every time developers modify it and commit the changes, a new Revision is created. All the modifications makes what the file looks like today and all previous revisions are history. Version control system, like a time machine, goes back to any time in history easily. It tracks not only file content, but also directory structure, metadata (comments, labels, etc) and everything else.
What do we need history info for?
- Tracking how the file gets to be what it is now
- Rolling back to an older version because the current latest version does not work
- Retrieving files when a previous version is released
- Others
Most modern version control software provides the support to show history for a single file or a folder (recursively). Below figure is the history explorer, it is a typical look of what we see after Show History in GUI software. As we can see, we can perform many source control operations within the explorer.