Commit (from English "commit") in the context of the Git version control system is a key concept that means saving changes in the local repository. It is a kind of snapshot of the current state of the project, which includes changes in code, configuration files, documentation, and other resources. Each commit creates a new version of the project that can be restored or reviewed at any time.
The word "commit" comes from English, where it means "to carry out," "to commit," "to make a decision," or "to fix." In the context of Git, this word reflects the essence of the process of fixing changes that become part of the project's history. This fixation is immutable, meaning that after a commit is created, its content remains constant, and it cannot be changed without creating a new commit (this is a simplified explanation, of course, it is possible to manipulate data and commits in various ways).
Git is a version control system (SCM, or Source Control Management) that was created by Linus Torvalds in 2005, initially for managing the development of the Linux kernel. Git is a distributed system that allows each developer to have a complete copy of the project's history on their computer. This provides high flexibility in working with code, the ability to work offline, and independence from a central server.
скріншот історії комітів репозиторію проєкту forem на GitHub
To make a commit in Git, you first need to prepare the changes by adding them to the index (staging area). This is done with the git add command, which adds the selected files to the index. After that, the git commit command fixes these changes in the form of a commit, adding a message that describes the changes made. For example, the command git commit -m "Updated README and added a new section on configuration" will create a commit with the corresponding message. It is possible to create an empty commit, but read about it here.
The process of creating a commit is important for tracking the development of the project. Each commit stores information about the author, the time of changes, and a message explaining what exactly was changed. This not only allows for preserving the project's history but also facilitates teamwork, where each participant can see who made certain changes and when, and why they were made. In case of errors or the need to revert to a previous version of the code, commits allow for easy recovery while preserving all intermediate versions.
A commit is an integral part of working with Git, allowing for effective management of changes in the project, preserving its history, and providing the ability to track and control all changes made.