Ich habe ein Git-Submodul in meinem Haupt-Git-Repo. Soweit ich weiß, speichert das Haupt-Repo einen SHA-Wert (irgendwo ...), der auf das spezifische Commit des Submoduls verweist, mit dem es "verknüpft" ist.
Ich ging in mein Submodul und tippte git checkout some_other_branch
. Ich habe keine Ahnung, von welchem Commit ich gekommen bin.
Ich möchte diesen Zeiger zurücksetzen, damit das Haupt-Repo und das Submodul wieder synchron sind.
Mein erster (wahrscheinlich naiver) Instinkt war zu sagen git reset --hard
- das scheint für alles andere zu funktionieren. Zu meiner Überraschung hat es in diesem Szenario nicht funktioniert.
Also habe ich herausgefunden, dass ich tippen git diff
, die SHA-ID notieren kann , die der Submodulzeiger früher hatte, und dann in das Submodul gehen und git checkout [SHA ID]
... aber es muss doch einen einfacheren Weg geben?
Da ich noch etwas über Git-Submodule lerne, können Sie meine Terminologie gerne korrigieren, wenn es Wörter für Konzepte gibt, die ich nicht kenne.
--init
. Ohne sie würden die Submodule in einem Zustand mit bleiben(new commits)
. Obwohl meine Submodule bereits initialisiert wurden.