Version Control Systems (VCS) allow for tracking and storing of a project at different stages in its life, this allows you to empliment new features without worrying about destoring your project. Cause a massive bug you cant fix? Simply revert to a previous version. Hate the new feature you spend weeks on? revert it away.
Git is a extremely popular DVCS.
creates a snapshot of the current state
the current version(most recent commit) is referred to as the head
comments allow for information pertaining to the commit to be added, making historical reference simple
A collection of files with git tracking. Normally one per project, in some cases one repo is used for front end and one for the backend.
for more info on a command you can use
these commands can change the git state. Git files can exist in three different states.