コミット (バージョン管理)

バージョン管理システムでは、コミット (英: commit)はソースコードへの最新の変更をリポジトリに送信する操作であり、変更はリポジトリの履歴に保持される。データ管理のコミットとは異なり、バージョン管理システムのコミットはリポジトリに無期限に保持される。他のユーザーがリポジトリからupdateまたはcheckoutを行うと、コミットされた最新バージョンを取得する。指定すれば昔のバージョンを取得することも可能であり、バージョン管理システムを使用すると、一度コミットしても以前のバージョンに簡単にロールバックできる。Visual SourceSafeではチェックインと呼ぶ。他のユーザがコミットしたことによって、万が一自分が更新した箇所と同じ箇所で衝突が起きて、他のユーザが苦労して更新した情報が上書き消去されてしまうことを避けるため、コミットする前にアップデート（Visual SourceSafeではリフレッシュと呼ぶ）を実行して、自分の作業領域を最新状態に保つことが推奨されている。

使用法 
コマンドラインでgitの変更をコミットするには、gitがインストールされていると仮定して、次のコマンドを実行する。 

 git commit -m 'commit message' 

これは、現在のディレクトリ内のファイルが次のようにステージングされていることも前提としている。

 git add . 

上記のコマンドは、gitcommit用にステージングされる作業ディレクトリ内のすべてのファイルを追加する。コミットが適用された後、最後のステップとして、指定されたソフトウェアリポジトリ（以下の名前の場合はorigin ）へのコミットをブランチmasterにプッシュする。

git push origin master

また、ステージングされていないすべてのファイルを追加し、同時にコミットするためのショートカットは次のとおりである。 

 git commit -a -m 'commit message'

Mercurial（hg） 
コマンドラインでMercurialの変更をコミットするには、 hgがインストールされていると仮定して、次のコマンドを実行する。 

 hg commit --message 'Commit Message' 

これは、現在のディレクトリ内のファイルが次のようにステージングされていることを前提としている。

 hg add 

上記のコマンドは、Mercurialコミット用にステージングされる作業ディレクトリ内のすべてのファイルを追加する。コミットが適用された後、最後のステップとして、コミットを指定されたソフトウェアリポジトリのdefaultブランチにプッシュする。

hg push

関連項目 

 コミット (データ管理)
 コミッター

脚注 

バージョン管理