Gitコマンドの裏側で何が起こっているのかを解説
ローカルの仕組み
ワークツリー→ステージ→リポジトリの三つにローカルは分割される
ワークツリーとはファイルを変更する作業場
ステージとはコミットする変更を準備しておく場所
リポジトリとはスナップショットを記録する場所
Gitのデータの管理の仕方(コミットまでの裏側の流れ)
例
ワークツリーにてindex.htmlというファイルを作成
ステージに追加する際にいったんリポジトリにてファイル内容を圧縮する
その後、ステージにファイルのマッピング情報を保存する
上記の工程を行うコマンドがgit add
ステージからリポジトリに保存するにはgit commitを使用する
リポジトリにステージに記録した情報を改めて保存する
その際に、保存したファイル情報に加えて作成者、日付、メッセージを同時に保存する
そうすることで誰がいつどんな理由で更新したかがわかるようになる
上記の流れからわかるようにリポジトリには三種類のファイルを作成して保存している
gitのデータ構造まとめ
リポジトリに圧縮ファイル、ツリー、コミットファイルを作成することでデータを保存している
・コミットが親コミットを持つことで変更履歴をたどることができる
・gitの本質はデータを圧縮して、スナップショットで保存していること
・Gitのコマンドはそのデータに対していろいろな操作をしている
親コミットとは前のバージョンのコミットを指す
そうすることで過去のバージョンをたどることができるようになる
コメント