Ich habe eine Sammlung von Git-Repositories, die unabhängig voneinander versioniert sind, aber miteinander verwandt sind. Wenn ich beispielsweise ein Feature hinzufüge, muss ich möglicherweise Funktionen zu einer gemeinsam genutzten Bibliothek hinzufügen und dann eine Anwendung oder einen Dienst erweitern, um diese Funktionalität zu nutzen.
Zur Zeit müsste ich in jedem der Repositories, die ich während der Arbeit an dieser Funktion berühre, eine Verzweigung erstellen. Was ich jedoch gerne tun würde, ist, den Prozess zu vereinfachen, indem diese multiplen Repositories auf einmal verzweigt und zusammengeführt werden (um die Wahrscheinlichkeit zu verringern, dass die Verzweigung oder das Zusammenführen / Zusammenführen in einem Repository vergessen wird).
Gibt es eine einfache Möglichkeit, mehrere Repositories gleichzeitig zu verzweigen und zusammenzuführen, oder ist dies eine Aufgabe, die sich besser für eine Sammlung von Hilfsskripten eignet? Wenn letzteres vorhanden ist, gibt es irgendwelche Skripte, die das bereits durchführen?
Es gibt keine integrierte Möglichkeit, mit mehreren Repositories gleichzeitig umzugehen, und wenn Sie über die verteilte Natur von git nachdenken, gibt es wirklich nichts anderes als soziale Konvention, die definieren kann Das. (Überlege dir, was passiert, wenn jemand in einem Repository von dir abzieht, aber eine zweite für die Sekunde - kannst du diese Kohärenz haben?)
Vielleicht finden Sie ein Tool wie mr , das gleichzeitig mit mehreren Repositories funktioniert, hilfreich.
Wenn Sie wirklich Dinge haben, die so eng sind, würde ich Ihnen raten, sie in ein Repository zu legen. Auf diese Weise können Sie keine der Schritte vergessen, weil sie in einer atomaren Operation ablaufen.
Wenn Ihr Code jedoch nicht wirklich so eng verbunden ist, dann geben Sie den "muss Zweig zur genau gleichen Zeit" Begriff auf und Sie werden glücklicher sein.
Sie können das Repo-Tool verwenden: Ссылка
Sehen Sie sich auch Ссылка an - es ist ein Tool wie Herr und Repo, so wie ich es nicht konnte. t diejenigen, die arbeiten, wie ich brauchte:)
Einige Anmerkungen:
es ist in Python gemacht (funktioniert also gut in jedem Betriebssystem, auf dem Python läuft: Linux, Win, Mac ...)
Neben dem Ausführen von allgemeinen Git-Operationen für viele Repos auf einmal bietet es auch folgende Workflows:
Genau wie eine Idee. Ich habe das selbst nicht versucht, aber ich bin vor einiger Zeit auf dieses Feature gestoßen. Versuchen Sie, alle gewünschten Repositorys als Submodul zu einem neuen "root" Repository hinzuzufügen und verwenden Sie den folgenden Befehl
%Vor%Sie können hierzu die Hilfe und den Umgang mit Submodulen konsultieren. Sie können den gewünschten Befehl verwenden. Git und Nicht-Git-Befehle.
Das Android-Repo-Tool verwaltet die Erstellung von Feature-Zweigen über mehrere Repositorys hinweg. Der Befehl repo upload
kann jedoch nur zur Überprüfung von Gerrit-Code veröffentlichen.
Wenn Sie einen gewöhnlichen Git-Repository-Manager wie GitHub oder GitLab verwenden, funktioniert repo upload
nicht; Sie benötigen den nicht vorhandenen Befehl repo push
. Ich habe repo push
in Wave Fork von Repo implementiert . Wir verwenden es in der Produktion.
Tags und Links git multiple-repositories