
ここは、エンジニア未経験の私が Git、GitHub を勉強した内容を備忘録を兼ねて記録していく記事になります。
記事の内容は、動画学習で有名なudemyにて学んだ事を私なりにまとめてたり、分からなかった事やつまづいた箇所などを含めて記載しています。
今回の記事は、『 Git のデータ保存の仕組み 』について解説したいと思います。
過去の記事は、下のリンクよりご確認ください!
この記事では、下記の内容を解説していきます。
- スナップショットでデータを記録している
- コミットは、直前のコミットを記録している
Git は、どのようにデータを保存しているのか。
スナップショットで記録
Git はバージョン管理をおこなっていますが、その方法はスナップショットを記録するという保存方法です。
※スナップショット:ある時点での状態(コードや、ファイル、ディレクトリなど)を抜き出したもの。
差分で保存していると思われた方もいると思います。
実際に Git 以前の多くの管理システムは、ファイルを差分で管理されていた様です。
差分で管理していた際には、大規模開発でブランチを作成する際に差分を計算する事に十数分の時間が掛かっていましたが、Git の登場でブランチが一瞬で作成できる様になったとの事です。
※ブランチ(branch)とは、1つのプロジェクトから分岐(枝分かれ)させる事によって、プロジェクト本体に影響を与えずに開発を行う仕組みの事です。

ブランチについては、今後の記事にて詳しく解説していきます!
時間が掛かっていた事の解決策として開発されたのが、バージョン管理をスナップショットで行う事です。
スナップショットで管理するとは、ある瞬間をまるごとデータとして保存し管理するというイメージです。
下記のサイトが、初学者にも分かり易く説明していましたのでご参考ください!
スナップショットでバージョン管理する(データを保存する)事で、過去の状態(以前の状態)に戻す事が可能になっています。
コミットは、直前のコミットを記録している
スナップショットで記録する以外にも、過去のデータを元に戻す事ができる要因があります。
それが、コミットした際に直前のコミットも一緒に記録している事です。
データを保存するタイミングは、コミットを行った際となります。
そしてコミットすると直前のコミットも一緒に記録しています。
この仕組みによって以前のデータを復元する事が可能になっています。
以下は、コミットを以前の状態に戻す際のイメージです。
バージョン① ⇒ コミット(最古のコミット)
↑
↑
バージョン④ ⇒ コミット
↑
バージョン⑤ ⇒ コミット(最新のコミット)
つまりGitのバージョン管理は、
- コミットした際は直前のコミットを記録している
- コミットはスナップショットで記録している
この2つ仕組みで最新の状態から以前の状態に戻す事が可能になっているという事です。
お疲れ様でした。今回は以上です。
『Git のデータ保存の仕組み』を解説してみました。

何か不具合等がでましたら、私で分かる事でしたらお答えしますのでコメントや問い合わせよりご連絡ください!
次回の記事は、『Git 操作の流れ(保存データの流れ)』を解説いたします。ヾ(≧▽≦)ノ
UPSTART!!(=゚ω゚)ノ
#Git #GitHub #プログラミング #初学者



コメント