« セキュアブートとBitLockerでハマりかかった話 | トップページ | equal »

2022年5月 8日 (日)

gitのsubmoduleの場所を変更する

git submodule addでサブモジュールを追加したあと、そのサブモジュールを配置するディレクトリーを変更したくなった場合、つまり例えば、git submodule add https://github.com/AlissaSabre/disfr.gitなどとして追加したサブモジュールがあり、この結果できているdisfrというディレクトリーをexternal/disfrに変更したくなった場合は、単にmkdir external; git mv disfr external/disfrとすればOK。(当たり前だが、modified: .gitmodulesrenamed: external/disfrになるので、コミットする。)

これとは別のgitのややこしいケースの情報を探していたところ、サブモジュールの場所を変更するには…のように題し、.gitmodulesやら.git/modules/disfr/configやらたくさんのファイルを手で編集する方法を熱心に説明しているページが複数あったので、一応メモしておく。

(なお、サブモジュールなので、git mvで変更をする前のブランチをチェックアウトすると変なことになるが、git submodule updateしただけでは完全に元に戻らない。また、それを元に戻した後でこちらのブランチに戻るとまたおかしくなる。この点は、移動方法の問題ではなくて、サブモジュールそのものの問題のはずなので、.gitmodules等を手で変更しても同じだと思う。試してないけど。)

« セキュアブートとBitLockerでハマりかかった話 | トップページ | equal »

コメント

コメントを書く

(ウェブ上には掲載しません)

« セキュアブートとBitLockerでハマりかかった話 | トップページ | equal »