私は、TravisCIを使ってHakyllの静的サイトを自動的にデプロイしようとしています。このガイド。
私のリポジトリの設定方法は次のとおりです。ソース ブランチがあり、そこには hakyll ファイルと markdown ファイルが含まれています。このブランチは_site
、サブモジュールとして設定されたディレクトリに html をビルドし、ブランチにリンクしますmaster
。
問題なくサイトを構築し、cd
_site ディレクトリにコピーしました。しかし、git add ./*
新しく生成された HTML ファイルにアクセスしようとすると、次のエラーが発生します。
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
これは何が原因で、どうすれば回避できるのでしょうか?
リポジトリを表示できますここ。
ベストアンサー1
git からディレクトリを削除して再度追加すると、うまくいきました:
git rm --cached directory
git add directory
これは、メインの git プロジェクトに.git
追加したいために意図的にディレクトリを削除した場合に機能します。私の場合は、git で拡張機能をクローンし、あまり考えずに実行しました。Git はサブモジュールを作成することに決めましたが、これは気に入りませんでした。そのため、 を削除してに遭遇しました。サブモジュールを削除する方法がわかりませんでした。上記の 2 行で修正しました。directory
git add .
directory/.git
Git: fatal: Pathspec is in submodule