0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Git submodule 備忘録

Posted at

たまに使う機会があると毎回忘れて調べるハメになるので、ここに備忘録を残しておきます。

サブモジュールの追加

git submodule add <リポジトリのURL>

サブモジュールのステータス確認

git submodule status

以下の情報が確認できます:

  • サブモジュールが指すコミットのハッシュ値
  • サブモジュール名
  • サブモジュールが指すブランチ名(またはタグ名)

サブモジュールの削除

git submodule deinit <サブモジュール名>
git submodule rm <サブモジュール名>

git submodule deinit実行直後は目立った変化がありませんが、git submodule statusでステータスを確認するとハッシュ値の前に-が付いていることが確認できます。

その後git rm <サブモジュール名>を実行すると、git submodule statusのリストからサブモジュールが消えます。

サブモジュールの実ファイルを取得

git submodule update --init --recursive

トラブルシューティング

git submodule statusで先頭に-がついている

git submodule deinit <サブモジュール名>直後の状態です。サブモジュールの削除がステージングエリアで保留になっているような状態というイメージで良さそうです。

サブモジュールを復活させたい場合は

git submodule update --init --recursive <サブモジュール名>

サブモジュールをそのまま削除したい場合は

git rm <サブモジュール名>

まとめ

gitのサブモジュールは少しややこしいですね(自分だけ?)。コマンド体系を忘れたり、.git/内部の状態を把握できなくなってしまうことが何度もありました。

この備忘録が他の人にも役立てば嬉しいです。

筆者について

フォローしていただけると励みになります!

Twitter: https://twitter.com/_matoruru
GitHub: https://github.com/matoruru

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?