1. ホーム
  2. git

[解決済み] Gitサブモジュール。スーパープロジェクトの新しいクローンにプルインする

2023-04-13 06:48:55

質問

OK。それで、私はこれをなめたと思った......しかし、今は......。

私は、サブモジュールとしてGitHubから1つの小さなライブラリを含むプロジェクトを持っています。そのスーパープロジェクトの元のバージョンでは、サブモジュールは期待通りに動作しています。

しかし、私はスーパープロジェクトをクローンし、私がすべきと思ったことを行いました: "git submodule init"、サブモジュールのディレクトリを表示するようにしましたが、それは空です。

もし私が今

git submodule update

私は

fatal: Needed a single revision 
Unable to find current revision in submodule path 'external_libraries/BEACHhtml'

もし私が

git submodule foreach git pull

私は

Entering 'external_libraries/BEACHhtml'
fatal: Where do you want to fetch from today?
Stopping at 'external_libraries/BEACHhtml'; script returned non-zero status.

私の .git/config には、次のようなものがあります。

[submodule "external_libraries/BEACHhtml"]
    url = [email protected]:interstar/BEACHhtml.git

私の .gitmodules には、次のようなものがあります。

[submodule "external_libraries/BEACHhtml"]
path = external_libraries/BEACHhtml
url = [email protected]:interstar/BEACHhtml.git

何が足りないかわかる人?

どのように解決するのですか?

現在(2019年)、インストールされているようです 最新のGITクライアント をインストールすることで解決できるようです。これが今のところ最良の解決策となるはずです。


私もあなたと同じ問題を抱えています。これはgitのバグです。 http://git.661346.n2.nabble.com/BUG-git-submodule-update-is-not-fail-safe-td7574168.html

要するに、あなたの問題に対して、試してみてください。

# rm -rf external_libraries/BEACHhtml
# git submodule update

以前のチェックアウトフォルダに問題があるようで、それを削除して再度更新すると解決します。