1. ホーム
  2. git

[解決済み] Git: fatal: Pathspec is in submodule.

2022-04-22 05:50:35

質問

私はTravisCIが自動的に私のHakyl静的なサイトをデプロイするようにしようとしている、次のとおりです。 このガイド .

私のレポはこんな感じです。私のソースブランチがあり、そこには私の hakyll と markdown ファイルが含まれています。htmlをビルドして _site ディレクトリがサブモジュールとしてセットアップされ、私の master ブランチを作成します。

問題なくサイトをビルドし、次に cd を_siteディレクトリにコピーしてください。しかし git add ./* を実行すると、次のようなエラーが発生します。

fatal: Pathspec './about.html' is in submodule '_site'

を試すと git add --all このようなエラーが発生します。

git: pathspec.c:317: prefix_pathspec: Assertion `item->nowildcard_len <= item->len && item->prefix <= item->len' failed.

/home/travis/build.sh: line 245: 1566 Aborted git add --all

何が原因で、どうすれば回避できるのでしょうか?

レポジトリを見ることができます ここで .

解決方法は?

gitからディレクトリを削除し、再度追加するとうまくいきました。

 git rm --cached directory
 git add directory

を意図的に削除した場合、これは動作します。 .git ディレクトリを追加したいので directory をgitのメインプロジェクトに追加します。私の場合は、ある拡張モジュールを git clone してから git add . あまり深く考えずに Gitはサブモジュールを作成することを決定しましたが、私はそれが好きではありませんでした。そこで私は directory/.git に遭遇し Git: fatal: Pathspec is in submodule . サブモジュールのものを削除する方法が分かりませんでした。上の2行で修正しました。