git add しようとしたら「If you meant to add a submodule, use」

git
スポンサーリンク

環境

  • Windows 11
    • WSL2 Ubuntu

事象

 git add .

しようとしたら以下のメッセージが出力されてgit add できなかった。

~/.dotfiles$ git add .
warning: adding embedded git repository: .tmux/plugins/tmux-sensible
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint:   git submodule add <url> .tmux/plugins/tmux-sensible
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint:   git rm --cached .tmux/plugins/tmux-sensible
hint:
hint: See "git help submodule" for more information.

ご覧の通り、dotfiles でtmuxのプラグインフォルダが追加できなかった。

原因

コミットしようとしたプロジェクトのフォルダの中に、別に取り込んできたリポジトリがあるからステージングできない

参考Qiita

tmuxのプラグインがgitで管理されてるんで、
自分のgit管理してるdotfilesの中に含められないよー
(= git 管理の中でほかのgit管理はできないよ)
と。

対処

ヒントに載ってたキャッシュ削除をやってみる。

$ git rm --cached .tmux/plugins/tmux-sensible 
fatal: pathspec '.tmux/plugins/tmux-sensible ' did not match any files

ダメ。

Qiitaの記事を真似て、.git ディレクトリを除外してみる。

$ cd .tmux/plugins/tmux-sensible
$ mv .git /tmp/23-02-03_tmux-sensible.git

cd ../../../

git add .

あたくしの場合はこれでうまくいった。

コメント