高度な Git
Amanda Crawford-Adamo
Software and Data Engineer
Gitサブモジュール
git submodule

パス配下にあるリンクまたはディレクトリを指定してサブモジュールを追加します。
git submodule add <repository link|dir> <path>
$$
例
ETLプロジェクトの libs/validator 配下に data validator ライブラリを追加します。
git submodule add https://github.com/example/data-validator.git libs/validator
プロジェクト内のサブモジュール一覧
git submodule status
例
$ git submodule status
e1f2...7w8x9 data_cleaning_lib
a1b2...q7r8 api_connector
d9e8...t3u2 visualization_toolkit
最新の変更でサブモジュールを更新
方法はいくつかあります:
git submodule update --init
git submodule update --init --remote
git submodule update --init <path_to_submodule>
サブモジュール削除の手順
git submodule deinit <submodule_name>
git rm <path>
新しいサブモジュール用に必要なファイルを、リポジトリ外の別フォルダへコピーします。
そのフォルダ内でサブモジュール用の新規リポジトリを作成:
git init <new-submodule>
git filter-repo でメインから対象ファイルと履歴を抽出:
git filter-repo --path <extract_path> --invert-paths
抽出したリポジトリをメインにサブモジュールとして追加:
git submodule add <new-submodule_path> <path_to_store_submodule>
ユースケース:
ベストプラクティス:
高度な Git