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

gitignoreの設定を無視して、サブモジュールを追加する

  「gitignore」の設定を無視して、「サブモジュール」を追加します。

  デフォルトでは、「サブモジュール」の「ワーキングディレクトリー」の配置場所が「gitignore」の対象になっていると、「サブモジュール」が追加できません。

  もし「gitignore」の対象になっていても、「gitignore」の設定を無視して「サブモジュール」を追加することができます。

gitignoreの例

  まずは比較のため、「gitignore」の対象になっているパスに「サブモジュール」を追加してみます。

  1.ワーキングディレクトリーの確認

    「スーパープロジェクト」の「ワーキングディレクトリー」は、以下のようになっています。


     「.gitignore」ファイルが配置されています。

  2.gitignoreの内容

    「.gitignore」ファイルの内容は、以下のようになっています。


    「my」で始まるフォルダーやファイルは、「Git」の管理対象から外しています。

  3.サブモジュールの追加

    「サブモジュール」を追加すると、以下のようにエラーになります。


    これは、「サブモジュール」の「ワーキングディレクトリー」である「mySubProject」フォルダーを、「スーパープロジェクト」の「ワーキングディレクトリー」に作成するのですが、「gitignore」により「mySubProject」フォルダーが「Git」の管理対象になってしまうためです。

gitignoreの設定を無視して、サブモジュールを追加する

  「gitignore」の設定を無視して、「サブモジュール」を追加します。
  上記手順の「2.」までは同じです。

  3.コマンドの実行

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

ショートオプション ロングオプション
-f --force

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「サブモジュールを追加するコマンドの説明」を参考にしてください。

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

git submodule add --force git://192.168.56.1/mySubProject


  4.コマンドの実行結果

    以下のように「サブモジュール」が追加され、「サブモジュール」のクローン及びチェックアウトが実行されます。


  5.サブモジュールの状態

    「スーパープロジェクト」から「サブモジュール」の状態を確認すると、以下のようになります。


    「サブモジュール」の「HEAD」が指す「コミットオブジェクト」と、現在のブランチが表示されます。

  6.ワーキングディレクトリーの状態

    「スーパープロジェクト」の「ワーキングディレクトリー」の状態を見てみます。


    「サブモジュール」の「ワーキングディレクトリー」である「mySubProject」フォルダーと「.gitmodules」ファイルが「ステージングエリア」に追加されています。

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

    「スーパープロジェクト」の「ワーキングディレクトリー」を見てみます。
    以下のように、「mySubProject」フォルダーと「.gitmodules」ファイルが追加されています。


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

    「サブモジュール」の「ワーキングディレクトリー」を見てみます。
    以下のように、「サブモジュール」からチェックアウトされたプロジェクトのファイル群と、「.git」ファイルが配置されています。



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