In
version control
Version control (also known as revision control, source control, and source code management) is the software engineering practice of controlling, organizing, and tracking different versions in history of computer files; primarily source code t ...
systems, a commit is an operation which sends the latest changes of the source code to the
repository
Repository may refer to:
Archives and online databases
* Content repository, a database with an associated set of data management tools, allowing application-independent access to the content
* Disciplinary repository (or subject repository), an ...
, making these changes part of the head revision of the repository. Unlike
commits in data management, commits in version control systems are kept in the repository indefinitely. Thus, when other users do an
update
or a
checkout
from the repository, they will receive the latest committed version, unless they specify that they wish to retrieve a previous version of the source code in the repository. Version control systems allow rolling back to previous versions easily. In this context, a commit within a version control system is protected as it is easily rolled back, even after the commit has been applied.
Usage
Git
To commit a change in
git
Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Design goals of Git include speed, data integrity, and suppor ...
on the
command line
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
, assuming git is installed, the following command is run:
git commit -m 'commit message'
This is also assuming that the files within the current directory have been staged as such:
git add .
The above command adds all of the files in the working directory to be staged for the git commit. After the commit has been applied, the last step is to push the commit to the given
software repository
A software repository, or repo for short, is a storage location for Package format, software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or rep ...
, in the case below named
origin
, to the branch
main
:
git push origin main
Also, a shortcut to add all the unstaged files and make a commit at the same time is:
git commit -a -m 'commit message'
Mercurial (hg)
To commit a change in
Mercurial
Mercurial is a distributed revision control tool for software developers. It is supported on Microsoft Windows, Linux, and other Unix-like systems, such as FreeBSD and macOS.
Mercurial's major design goals include high performance and scalabi ...
on the
command line
A command-line interface (CLI) is a means of interacting with software via command (computing), commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user ...
, assuming hg is installed, the following command is used:
hg commit --message 'Commit Message'
This is also assuming that the files within the current directory have been staged as such:
hg add
The above command adds all of the files in the working directory to be staged for the Mercurial commit. After the commit has been applied, the last step is to push the commit to the given
software repository
A software repository, or repo for short, is a storage location for Package format, software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or rep ...
, to the
default
branch:
hg push
See also
*
Commit (data management)
In computer science and data management, a commit is a behavior that marks the end of a transaction and provides Atomicity (database systems), Atomicity, Consistency (database systems), Consistency, Isolation (database systems), Isolation, and D ...
*
References
{{Version control software
Version control systems