kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

Gitがファイルを配置する場所について

  「Git」が使用するファイルは、目的により配置される場所が決まっています。
  これは、ユーザーが「Git」でファイルを操作する上で大切な概念になります。


  「Git」では、ファイルの配置場所を、3箇所定義しています。 

  1. Gitディレクトリー
  2. ワーキングディレクトリー
  3. ステージングエリア

  それぞれの配置場所は、予めデフォルトの配置場所が決められていますが、ユーザーが変更できる配置場所もあります。

1.Gitディレクトリー(Git Directory)

  「Gitディレクトリー」とは、リポジトリーが配置されるフォルダー(ディレクトリー)のことです。
  いわゆるリポジトリー本体が収められているフォルダーです。


  Gitが動作するのに必要なファイル群が配置される

    「Git」が管理する様々なデータが含まれています。

    プロジェクトのファイル群を格納する「オブジェクトデータベース」も「スナップショット」も「Gitディレクトリー」内に配置されます。

2.ワーキングディレクトリー(Working Directory)

  「Gitディレクトリー」にある「スナップショット」からプロジェクトのファイル群を取得し、プロジェクトのファイル群を展開するフォルダー(ディレクトリー)です。


  ユーザーが作業を行うフォルダー

    ワーキングディレクトリー(作業ディレクトリー)という名の通り、ユーザーはこのフォルダー内に展開されたファイルに対して編集などの作業を行います。

    「スナップショット」からプロジェクトのファイル群を取得・展開することを、「チェックアウト」と言います。

    ちなみに上図の「.git」フォルダーは、「Gitディレクトリー」です。

3.ステージングエリア(Staging Area)

  「ステージングエリア」は、ステージされたファイル群の情報が格納されるファイルのことです。
  「index」ファイルのことです。
     このファイルは、「Gitディレクトリー」内にあります。


  仮のスナップショット

    「ステージングエリア」には、仮の「スナップショット」が作成されています。
    ステージしたファイルは、一時的に「オブジェクトデータベース」に保存されます。


    ユーザーがコミットしない限り、正式な「スナップショット」は作成されません。


ファイルの状態とファイルの配置場所

  前回紹介した「Gitで管理されるファイルの状態」と、各ファイルの状態に対応したファイルの配置場所を関連付けると、以下のようになります。

ファイルの状態 配置場所
コミットされた状態(committed) Gitディレクトリー(Git Directory)
変更された状態(modified) ワーキングディレクトリー(Working Directory)
ステージされた状態(staged) ステージングエリア(Staging Area)

    ファイルの状態と配置場所を図にすると、以下のようになります。



関連コンテンツ
同一カテゴリーの記事
コメント
オプション