373 Stimmen

Auflisten von Untermodulen in einem Git-Repository

Ich habe ein Git-Repository, das mehrere Untermodule enthält. Wie liste ich die Namen aller Untermodule nach git submodule init durchgeführt wurde?

En git submodule foreach Befehl könnte die Namen der Submodule ausgeben, aber das funktioniert nur, wenn sie ausgecheckt wurden, was nach dem init-Schritt noch nicht geschehen ist. Es gibt weitere Schritte in der Kette, die stattfinden müssen, bevor sie ausgecheckt werden können, und ich möchte die Namen der Submodule nicht fest in das Skript einbauen müssen.

Gibt es also einen Git-Befehl, um die Namen aller derzeit registrierten, aber noch nicht ausgecheckten Submodule zu erhalten?

22voto

Robert Sjödahl Punkte 686

Ich benutze dies:

git config --list|egrep ^submodule

19voto

Max Cantor Punkte 8049

Ich habe festgestellt, dass der in einer Antwort auf diese Frage enthaltene Befehl mir die gesuchten Informationen liefert:

Keine Submodulzuordnung in .gitmodule für einen Pfad gefunden, der kein Submodul ist

git ls-files --stage | grep 160000

17voto

benesch Punkte 5111

Wenn es Ihnen nichts ausmacht, nur mit initialisierten Submodulen zu arbeiten, können Sie git submodule foreach um das Parsen von Text zu vermeiden.

git submodule foreach --quiet 'echo $name'

12voto

bGorle Punkte 1948

Um alle Submodule nach Namen aufzulisten:

git submodule --quiet foreach --recursive 'echo $name'

11voto

fabceolin Punkte 326

Sie können verwenden:

git submodule | awk '{ print $2 }'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X