Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

zennと.gitに関するishideoのブックマーク (2)

  • Gitのオブジェクトの中身

    はじめに Gitのインデックスの中身、Gitのブランチの実装に続く、Gitの中身を見てみようシリーズです。Gitが管理するオブジェクトの種類や中身について見てみます。基的にはPro Gitの10. Gitの内側をまとめなおしたものです。 オブジェクトの種類 Gitは、内部でファイルやコミットを「オブジェクト」として.git/objects以下に保存しています。オブジェクトには以下の4種類があります。 blobオブジェクト: ファイルを圧縮したもの。ファイルシステムの「ファイル」に対応 treeオブジェクト: Blobオブジェクトや別のTreeオブジェクトを管理する。ファイルシステムの「ディレクトリ」に対応 コミットオブジェクト: Treeオブジェクトを包んだもの。コミットのスナップショットに対応するTreeオブジェクトに、親コミット、コミットメッセージなどを付加する タグオブジェクト:

    Gitのオブジェクトの中身
  • Gitのオブジェクトハッシュの計算方法

    Git のオブジェクト 最初に少しだけGitのデータ(オブジェクト)の保存方法について触れます。 オブジェクトは .git/objects/ に保存されます。 この中にリポジトリのファイルを効率的に保存します。 バージョンごとに同じファイルを重複して保存することはありません。 ファイルだけではありません。4種類のオブジェクトを保存します。 blob: Binary Large OBjecctの略で、つまりはファイルです。しかし、ファイル名は含みません。 tree: 1階層分のディレクトリの全ファイル名とファイル内容のハッシュと権限です。 commit: git commit で作られます。コミット内容とか作成者、作成日時などが含まれます。コミットハッシュやコミットSHAと呼ばれるものです。 tag: git tag で作られます。質的には commit とあまり変わりません。 なぜ、重複

    Gitのオブジェクトハッシュの計算方法
  • 1