«

[Git] サブモジュールの更新メモ

最近は自分で苦労して調べたことをブログにメモしなくても
何度でもAIさんが根気よく同じことを嫌がらずに教えてくれるので
自分のブログメモが減ってしまいました…

しかしさすがに同じことを何回聞いてるねん!?となったので、メモしておきます

リポジトリ内にサブモジュールがあるときの更新方法メモです

手順

develop/build00 のサブモジュール “libs/XXX” のブランチ master を紐付けたいとする

既にサブモジュールブランチ XXX の master は更新済み & Push済みとします

develop/build00 がみんなの作業ブランチの場合、PR用のブランチ maintenance/update-submodule00 などを作って更新対象にする

# 作業前におかしな状態になってないかどうかを確認する
git status

# メインリポジトリのブランチをチェックアウト
git checkout develop/build00
git pull

# 目的のブランチに居てるよね?の確認
# (この場合develop/build00に居る)
git branch

# 念のためサブモジュールを更新
git submodule update --init --recursive

# PRのための新しいブランチを作成
git checkout -b maintenance/update-submodule00

# 今のブランチは maintenance/update-submodule00 のはず
git branch

# libs/XXX サブモジュールに移動
cd libs/XXX

# サブモジュールの目的のブランチをチェックアウト
git checkout master
git pull

# 目的のブランチに居てるよね?の確認
# (この場合masterに居る)
git branch

# メインリポジトリに戻る
cd ../..

# しつこいけど、今のブランチは maintenance/update-submodule00 のはず
git branch

# メインリポジトリでサブモジュールの新しい状態をcommit
git add libs/XXX
git commit -m "Update libs/XXX submodule"

# メインリポジトリの変更をプッシュ
git push origin maintenance/update-submodule00

# 最後に Github 上で maintenance/update-submodule00 から develop/build00 へPRを出す

こんな感じですね

comments powered by Disqus