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

ユーザー定義のスクリプトを実行して、サブモジュールを更新する

  ユーザー定義のスクリプトを実行して、「サブモジュール」を更新します。
  この方法を利用すると、ユーザー独自の「サブモジュール」の更新方法を利用できます。

  補足

    チェックアウトされていない「サブモジュール」に対し、ユーザー定義のスクリプトを実行してサブモジュールを更新しようとすると、サブモジュールのチェックアウトが実行されます。

    事前にサブモジュールのチェックアウトを行っておきましょう。

ユーザー定義のスクリプトの実行するには

  ユーザー定義のスクリプトを実行するには、以下の点に留意が必要です。

  1.実行するユーザー定義のスクリプトの指定

     実行するユーザー定義のスクリプトを、設定ファイルに記述しておく必要があります。
    ここでは例として、リポジトリーの設定ファイルである「config」ファイルに、実行するスクリプトを記述しました。


    実行するスクリプトの記述は、「submodule.モジュール名.update」設定に記述します。
    また、必ず設定値の頭に、「!」を記述してください。

    ここでは例として、以下のように記述しました。


  2.実行するスクリプトの用意

    実行するスクリプトを用意します。
    すでに存在するコマンドやスクリプトを実行する場合、自分でスクリプトを用意する必要はありません。


    スクリプトの中身は、以下のように記述しました。

#!/bin/bash

echo "commit ID : $1"
echo "Current directory : `pwd`"


    このスクリプトは、「コミットID」とスクリプト実行時のカレントディレクトリーを出力します。

  3.コミットIDがスクリプトの引数に指定される

    スクリプト実行時、「コミットID」がスクリプトの引数に指定されます。

  4.更新方法のオプションを指定しない

    コマンドに更新方法のオプションを指定しないでください。

    「1.」の作業行い、更新方法のオプションを指定しなかった場合に、スクリプトが実行されます。

コマンドの実行例

  コマンドの実行例です。

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

    「サブモジュール」の状態を見てみます。

    以下のように、「mySubProject」サブモジュールが配置されており、「mySubProject」サブモジュールの「HEAD」は「master」ブランチを指しています。


  2.コミットIDの確認

    「mySubProject」サブモジュールの「コミットID」は、以下のようになっています。


  3.コマンドの実行

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

git submodule update


  4.コマンドの実行結果

    以下のように、スクリプトが実行されます。


    最終行に出力されている「Submodule path 'mySubProject'・・・」は、gitコマンド側で出力しているメッセージです。

    このメッセージには、「サブモジュール」の「ワーキングディレクトリー」のパスや、実行したスクリプト及び、「コミットID」が出力されます。


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