gitのデータ管理の仕組み

GitHub

Gitコマンドの裏側で何が起こっているのかを解説

ローカルの仕組み

ワークツリー→ステージ→リポジトリの三つにローカルは分割される

ワークツリーとはファイルを変更する作業場
ステージとはコミットする変更を準備しておく場所
リポジトリとはスナップショットを記録する場所

Gitのデータの管理の仕方(コミットまでの裏側の流れ)


ワークツリーにてindex.htmlというファイルを作成
ステージに追加する際にいったんリポジトリにてファイル内容を圧縮する
その後、ステージにファイルのマッピング情報を保存する

上記の工程を行うコマンドがgit add

ステージからリポジトリに保存するにはgit commitを使用する
リポジトリにステージに記録した情報を改めて保存する
その際に、保存したファイル情報に加えて作成者、日付、メッセージを同時に保存する

そうすることで誰がいつどんな理由で更新したかがわかるようになる

上記の流れからわかるようにリポジトリには三種類のファイルを作成して保存している

gitのデータ構造まとめ

リポジトリに圧縮ファイル、ツリー、コミットファイルを作成することでデータを保存している

・コミットが親コミットを持つことで変更履歴をたどることができる
・gitの本質はデータを圧縮して、スナップショットで保存していること
・Gitのコマンドはそのデータに対していろいろな操作をしている

親コミットとは前のバージョンのコミットを指す
そうすることで過去のバージョンをたどることができるようになる

コメント

タイトルとURLをコピーしました