Git(ギット)とは、プログラムなどのファイルの変更履歴を記録・管理するシステムのことです。「バージョン管理システム」と呼ばれる分野の代表格で、「いつ・誰が・どこを・なぜ変えたか」をすべて記録し、必要ならいつでも過去の状態に戻せます。現在のソフトウェア開発では事実上の標準です。
現実世界でいえば、「何度でも戻れるセーブポイント」のようなものです。ゲームで難所の前にセーブしておけば失敗してもやり直せるように、Gitでは作業の区切りごとに「コミット」というセーブを重ねていきます。しかも複数人がそれぞれセーブを持ち寄り、後で1つに合流(マージ)できるのが強力なところです。
Gitの基本的な仕組み
Gitでは、フォルダごとの変更履歴を「リポジトリ」という保管庫に記録します。作業の区切りでコミット(記録)し、履歴が積み重なっていきます。また、ブランチという機能で履歴を枝分かれさせ、本流に影響を与えずに新機能の開発や実験ができます。完成したら本流にマージ(合流)します。各開発者が手元に完全な履歴の複製を持つ「分散型」であることも特徴です。
よく使う基本用語
| 用語 | 意味 | 例えると |
|---|---|---|
| コミット | 変更を履歴として記録すること。 | セーブポイントを作る |
| ブランチ | 履歴を枝分かれさせて並行作業する仕組み。 | 物語の分岐ルート |
| マージ | 枝分かれした変更を1つに合流させること。 | 分岐ルートの合流 |
| プッシュ/プル | 手元の履歴を共有サーバーに送る/取り込む。 | セーブデータの共有 |
GitとGitHubの違い
混同されやすいですが、Gitは仕組み(ソフトウェア)、GitHubはGitを使った共有サービス(Webサイト)です。GitHubは、Gitのリポジトリをインターネット上に置いて共有し、変更の提案(プルリクエスト)やレビュー、課題管理までできる開発の共同作業場で、世界中のオープンソース開発の拠点になっています。同種のサービスにGitLabやBitbucketがあります。
あわせて知っておきたい用語
- GitHub:
Gitのリポジトリを共有できるWebサービス。共同開発の定番です。 - Visual Studio Code:
Git連携を標準搭載したエディタ。画面操作でコミットやプッシュができます。 - CI/CD:
Gitへの変更を起点にテストやデプロイを自動化する手法です。 - ソースコード:
Gitの主な管理対象となる、プログラムの原文です。

コメント