Submodule
Submodule ermöglichen es, ein Git-Repo in einem anderen Git-Repo zu verwenden.
Es ist also die einfache Möglichkeit, Code wiederverwendbar zu machen, Code einmal zu schreiben und in anderen Projekten zu verwenden.
In diesem Projekt kann man den integrierten Code in Form eines Submodules warten, verbessern und in das richtige Repo pushen.
Damit bleibt das Haupt-Projekt, also das Haupt-Repo sauber getrennt von den integrierten Repos.
Darüber haben wir schon ein bisserl geschrieben, schauet hier:
- https://wp-entwickler.at/3246/submodule-in-git-der-eine-zaubertrick-um-code-wiederverwertbarer-zu-machen/
- https://wp-entwickler.at/3258/git-submodule-in-phpstorm-verwenden-so-kannst-du-ein-repo-in-einem-repo-verwenden/
Wie füge ich einem bestehendem Repo nun ein Submodul hinzu?
Weil diese Frage so oft bei uns aufschlägt, braucht es anscheinend einen kurzen Artikel als Reminder.
Kurz gesagt, es ist seeeeeeeeehr einfach!
Gehe in den Ordner deines Projektes/Repos, wo du das Submodul hinzufügen willst.
In den meisten Fällen wirst du das Submodul als direkten Unterordner einfügen wollen, also direkt unter dem Haupt-Ordner.
Du befindest dich jetzt also im Ordner des Projektes im Terminal und gibst folgenden Befehl ein:
git submodule add {url_zum_repo}
Mit git submodule add wird das Submodul geclont, es landen daher alle Dateien des Submoduls auf deiner Festplatte im richtigen Ordner.
Bonus Tipp für JetBrains IDE-User
Wer zb mit PHPStorm arbeitet, sollte jetzt noch diesen einen Schritt erledigen, damit alles reibungslos funktioniert:
Genauer beschrieben ist das eh auch hier: https://wp-entwickler.at/3258/git-submodule-in-phpstorm-verwenden-so-kannst-du-ein-repo-in-einem-repo-verwenden/
Somit ist es recht einfach geschehen, ein bestehendes GIT-Repo in ein anderes GIT-Repo aufzunehmen.
An beiden Git-Repos kann jetzt unabhängig voneinander gearbeitet werden.
Die Änderungen des integrierten Git-Repos landen nicht im übergeordneten Repo, sondern im eigenen.
Eine saubere Lösung!



