GIT - Submodule entfernen



  • Hi zusammen

    ich migriere gerade ein Projekt nach GIT und habe da Mist gebaut. Ich hab ein Submodule quasi zweimal "abonniert".
    Nun würde ich gerne das Submodule wieder loswerden. Bzw. beide Instanzen des Submodules um des dann noch mal sauber neu zu abonnieren.

    Gibts da irgendeine "elegante" Lösung?

    Mir kommt GIT vor wie ein Irrgarten mit 10 Ausgängen, von denen 9 in einer Fallgrube enden und wo das umkehren unmöglich ist.... Frustrierend 😃

    gruß
    Tobi


  • Mod

    Erst einmal Gegenfrage, da git-Remotehilfe immer sehr schwer ist: Was ist mit sonstigen Anleitungen im Internet? Funktionieren die bei dir nicht und warum nicht? Oder passen sie dir nicht und warum nicht?



  • ich suche eigentlich nach einer eleganten Lösung. Was ich so bisher gefunden habe, ist mehr gefrickel als alles andere.
    Es muss doch irgendeine Art von "deinit" oder so geben. Oder wenn man wirklich basteln will, einfach den Unterordner im projekt löschen und das Submodule in einer der git-Files per texteditor entfernen. Sowas in der Richtung suche ich.

    Ich habe mich mit der hier versucht:
    https://stackoverflow.com/questions/1260748/how-do-i-remove-a-submodule

    aber ich befürchte ich habs damit noch mehr kaputt gemacht als es vorher ohnehin schon war.... Was Versionierungssysteme angeht gibts in meinem Kopf irgendeine Art von neuronaler Störung a la "wenns nicht einfach geht, dann lass ichs" 😃



  • Ich krieg halt nicht in meinen Kopf wieso das hinzufügen eines Submodules ein Einzeiler ist und man für das entfernen eines Submodules dann irgendwie ne halbe Weltreise machen muss... Das kann doch eigentlich nicht sein.



  • es gibt deinit...

    git submodule deinit ${path_to_submodule}
    git rm ${submodule}
    git commit -m "I shouldn't use submodules because they're a major pain in the ass"
    rm -r .git/modules/${submodule}

    Edit: Hab nicht auf den link geklickt... da wird doch sogar deinit benutzt...?!



  • OK danke. Dann hab ichs wohl irgendwie falsch gemacht. Ich probiere mal deine Variante.


Log in to reply