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

サブモジュールのファイルの変更検出内容を制御する

  「サブモジュール」のファイルの変更検出内容を制御します。
  「スーパープロジェクト」では、「サブモジュール」のファイルの変更状況を検出できます。



  「サブモジュール」内のファイルの状態が変更されているかどうか検出し、状況を出力します。

  検出するファイルの変更内容を、制御することができます。

検出するサブモジュールの状態

  コマンドが検出する「サブモジュール」の状態は、以下の3種類です。

  1. new commits(新規コミット)
  2. untracked content  
  3. modified content

  1.new commits

    「コミットID」と「サブモジュール」の「HEAD」が指す「コミットオブジェクト」が異なっている状態です。

  2.untracked content  

    「サブモジュール」の「ワーキングディレクトリー」内に、トラックされていないファイルが存在しています。

  3.modified content 

    「サブモジュール」の「ワーキングディレクトリー」内に、編集されたファイルが存在しています。

オプションの値について

  オプションの値には、検出をスキップしたい変更内容を指定します。

  1. none
  2. untracked
  3. dirty
  4. all

  1.none

    「サブモジュール」内のファイルの変更をすべて検出します。

  2.untracked

    「サブモジュール」内のトラックされていないファイルの検出を行いません。
    「untracked content」の検出をスキップします。

  3.dirty

    「untracked」に加えて、「サブモジュール」内の編集されたファイルの検出を行いません。

    「untracked content」と「modified content」の検出をスキップします。

  4.all

    「サブモジュール」内のファイルの変更を検出しません。

  オプションの値を省略した場合

    オプションの値を省略した場合、「all」が指定されたものとして扱われます。

例で使用するサブモジュールについて

  ここで紹介する例では、以下のサブモジュールを使用しています。

  1.スーパープロジェクトのワーキングディレクトリー

    「スーパープロジェクト」の「ワーキングディレクトリー」内の「myCloneProject2」フォルダーに「サブモジュール」を配置しています。


  2.サブモジュールのワーキングディレクトリー

    「サブモジュール」の「ワーキングディレクトリー」は、以下のようになっています。


  3.スーパープロジェクトから見たサブモジュールの状態

    「スーパープロジェクト」から「サブモジュール」の状態を確認すると、以下のように「サブモジュール」で行われた変更が出力されます。


  4.サブモジュールのワーキングディレクトリーの状態

    「サブモジュール」の「ワーキングディレクトリー」の状態を見ると、以下のようになっています。


1.サブモジュール内のファイルの変更をすべて検出する

  サブモジュール内のファイルの変更をすべて検出します。

  1-1.コマンドの実行

    コマンドのオプションは、以下のオプションを指定します。

オプション オプションの値
--ignore-submodules= none

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「ワーキングディレクトリーにあるファイルの状態を表示するコマンドの説明」を参考にしてください。

    ポイントは、赤字の箇所です。

git status --ignore-submodules=none


  1-2.コマンドの実行結果

    以下のように、「サブモジュール」の状態が表示されます。


2.トラックされていないファイルの検出を行わない

  トラックされていないファイルの検出を行いません。

  2-1.コマンドの実行

    コマンドのオプションは、以下のオプションを指定します。

オプション オプションの値
--ignore-submodules= untracked

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「ワーキングディレクトリーにあるファイルの状態を表示するコマンドの説明」を参考にしてください。

    ポイントは、赤字の箇所です。

git status --ignore-submodules=untracked


  2-2.コマンドの実行結果

    以下のように、「サブモジュール」の状態が表示されます。
    「1-2.」の結果と比較すると、「untracked content」の検出が行われていません。


3.編集されたファイルの検出を行わない

  トラックされていないファイルと編集されたファイルの検出を行いません。

  3-1.コマンドの実行

    コマンドのオプションは、以下のオプションを指定します。

オプション オプションの値
--ignore-submodules= dirty

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「ワーキングディレクトリーにあるファイルの状態を表示するコマンドの説明」を参考にしてください。

    ポイントは、赤字の箇所です。

git status --ignore-submodules=dirty


  3-2.コマンドの実行結果

    以下のように、「サブモジュール」の状態が表示されます。
    「1-2.」の結果と比較すると、「untracked content」と「modified content」の検出が行われていません。


4.サブモジュールの変更の検出を行わない

  サブモジュールの変更の検出を行いません。

  4-1.コマンドの実行

    コマンドのオプションは、以下のオプションを指定します。

オプション オプションの値
--ignore-submodules= all

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「ワーキングディレクトリーにあるファイルの状態を表示するコマンドの説明」を参考にしてください。

    ポイントは、赤字の箇所です。

git status --ignore-submodules=all


  4-2.コマンドの実行結果

    以下のように、「サブモジュール」の状態が表示されます。
    「1-2.」の結果と比較すると、サブモジュールの変更内容の検出が行われていません。



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