チェックアウト【checkout】
チェックアウトとは?
宿泊施設の退館手続きや物品の貸出手続きなどのこと。IT分野では、バージョン管理システムにおいて、リポジトリから特定のファイルの特定の版を手元の作業環境に取り出す操作を指す。

バージョン管理システム(VCS:Version Control System)は、ファイルの変更履歴を「リポジトリ」(repository)と呼ばれる保管場所で管理する仕組みである。利用者がリポジトリ上のファイルを閲覧・編集するには、まず対象の版を自身のコンピュータ上に取り出す必要がある。この操作を「チェックアウト」という。取り出す対象は単一のファイルの場合もあれば、プロジェクト全体に及ぶ場合もある。
編集を終えたファイルをリポジトリに新しい版として登録し、変更内容を他の利用者と共有できる状態にする操作は「チェックイン」(checkin)または「コミット」(commit)と呼ぶ。これにより変更内容が履歴として保存され、他の利用者からも参照できるようになる。
チェックアウトの具体的な意味はシステムの方式によって異なる。CVSやSubversionなど従来の集中型バージョン管理システムでは、チェックアウトはリポジトリからファイルを取得する操作を指し、同時に複数の利用者が同じファイルを編集して内容が競合するのを防ぐため、対象ファイルにロックをかける仕組みを持つものもある。この方式ではチェックアウト中は他の利用者がそのファイルを編集できず、チェックインによってロックが解除される。
一方、Gitなどの分散型バージョン管理システムでは、各利用者がリポジトリ全体の複製を手元に持つため、ファイル単位のロック制御は行わない。これらのシステムにおけるチェックアウトは、作業対象のブランチを切り替えたり、過去の特定のコミット時点の内容を作業ディレクトリに展開したりする操作を意味する。複数人による同時編集の競合は「マージ」(merge)の仕組みによって解消する。