以下の内容はhttps://uga-box.hatenablog.com/entry/2024/07/24/000000より取得しました。


【Git】git submodule について

gitのsubmoduleを使ったことがなかったので調べた

git-scm.com

submoduleは、あるプロジェクトで作業をしているときに、プロジェクト内で別のプロジェクトを使わなければならない時に使う

例えば、自身が別途開発している複数の親プロジェクトから利用しているライブラリなど

あるGitリポジトリを別のGit リポジトリのサブディレクトリとして扱うことができるようになる

submoduleの作り方

git submodule addでsubmoduleを追加できる

$ git submodule add https://github.com/chaconinc/DbConnector

デフォルトでは、このコマンドで指定したリポジトリと同名のディレクトリに、サブプロジェクトのデータが格納される

git statusを見ると

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   .gitmodules
    new file:   DbConnector

.gitmodulesファイルには、プロジェクトの URL とそれを取り込んだローカルサブディレクトリの対応が格納されている

[submodule "DbConnector"]
    path = DbConnector
    url = https://github.com/chaconinc/DbConnector

注意事項

.gitmodules ファイルに記述された URL を他の利用者はクローン/フェッチしようとするので、他の利用者もアクセスできる URL にする

submoduleを含むプロジェクトのクローン

cloneしたら、以下のコマンドを実行

git submodule update --init

--init(-iでも良い)でローカルの設定ファイルを初期化し、update でプロジェクトからのデータを取得し、親プロジェクトで指定されている適切なコミットにチェックアウトされる

今回はただ単純にsubmoduleとして使いたいだけ、上流の更新はときどき取り込むが、チェックアウトした内容を変更したりはしない使い方になるのでここまでの理解に留めておく




以上の内容はhttps://uga-box.hatenablog.com/entry/2024/07/24/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14