Open3
git の submodule をやめて、外部レポジトリの内容をコピーする
事前準備
- workspace を clean にしておく
- commit しておく
- stash する
- submodule側もコミット漏れなどないか確認
submodule を削除
git submodule deinit -f <submodule name>
git rm <submodule name>
rm -rf .git/modules/<submodule name>
remoteに追加
今回は github に前提。
今回は submodule-remote という remote nameを使い、リモートレポジトリのURIが https://github.com/xxxxx/yyyy.git
git remote add submodule-remote https://github.com/xxxxx/yyyy.git
git fetch submodule-remote
subtree コマンドで追加
今回はworkspace root直下 の submodule ディレクトリに配置する例。
-
--squash
は commit をまとめる場合に指定 - リモートの main branchから取り込む
git subtree --prefix=submodule --squash submodule-remote main
remote をお掃除
git remote remove submodule-remote
git fetch --rpune