Wie verschiebt man das Git-Submodul in das Unterverzeichnis?

Lesezeit: 2 Minuten

Leute, ich habe gerade submodule verwendet, um einige Git-Repos zu organisieren, hier ist die Adresse:
Repos

Ich möchte alle Submodule in ein neues Verzeichnis namens repos verschieben, zum Beispiel jquery -> repos/jquery.

Ich ändere die .gitmodules Datei, aber es scheint nicht zu funktionieren. Was soll ich machen?

  • Sehen “[How do I move an existing git submodule within a git repository?][1]” [1]: stackoverflow.com/questions/4604486/…

    – Benutzer1338062

    19. Mai 2012 um 8:47 Uhr

Benutzer-Avatar
Philzen

Seit git 1.8.5,

git mv old/submod new/submod 

funktioniert wie erwartet und erledigt alle Klempnerarbeiten für Sie. Möglicherweise möchten Sie git 1.9.3 oder neuer verwenden, da es Korrekturen für das Verschieben von Submodulen enthält.

Credits: Mike Lowerey aus dem Kommentar unten

Ursprüngliche Antwort

Hatte gerade das gleiche Problem und löschte schließlich die Submodulreferenz (wie beschrieben In diesem Artikel) und neu erstellen, wo ich es haben wollte.

Um Ihrem Beispiel des Verschiebens von Submodulen zu folgen jquery hinein repos/jquery

  1. Löschen Sie die (normalerweise dreizeilige) Submodulreferenz aus .gitmodules.
  2. Prüfen .git/config für Verweise auf das Submodul und entfernen Sie diese, falls vorhanden
  3. tun git rm --cached jquery um die Submodulreferenz aus dem Repository auszuschneiden
  4. Entfernen Sie den alten Submodulordner
  5. Erstellen Sie Ihre Submodulreferenz (wie Sie es möglicherweise zuvor getan haben) mit neu git submodule add git://github.com/jquery/jquery.git repos/jquery

Falls Ihr Submodul auf ein bestimmtes Tag bzw. Commit gesetzt war (was Sie sicherlich in einem stabilen Projekt haben werden), haben Sie es erneut gesetzt.

Aufgrund dieses komplexen Prozesses hoffe ich stark, dass es einen einfacheren Weg gibt (oder zumindest auf der Git-Roadmap geben wird), dies zu erreichen. Wenn nicht, könnten sicherlich einige Skripte zusammengefummelt werden, um dies schneller zu erledigen …

  • Seit git 1.8.5, git mv old/submod new/submod funktioniert wie erwartet und erledigt alle Klempnerarbeiten für Sie. Möglicherweise möchten Sie git 1.9.3 oder neuer verwenden, da es Korrekturen für das Verschieben von Submodulen enthält. (Quelle).

    – Mike Lowery

    7. November 2019 um 0:02 Uhr


1178770cookie-checkWie verschiebt man das Git-Submodul in das Unterverzeichnis?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy