2017-12-14 3 views
0

Ich muss mehrere Git-Repos zu einem einzigen Repo verbinden, um den verstreuten Code zu vereinigen.Kann ich Code aus mehreren Repos in Git automatisch zu einem neuen Repo ziehen?

In diesem Schritt faktoriere ich keinen Code, der nur alle zugehörigen Projekte von 4 verschiedenen Repos (sagen RepoA, RepoB, RepoC und RepoD) zu einem einzigen Repo (sagen wir RepoFinal).

Aber meine Sorge ist, dass fast jeden Tag neue Commits und Pushs zu RepoA, RepoB, RepoC und RepoD gemacht werden. Wie behalte ich die Änderungen in allen vier Repo und aktualisieren Sie das in meinem RepoFinal auf täglicher Basis?

Gibt es eine Möglichkeit, das zu automatisieren? oder muss ich es manuell verfolgen?

ich über Web-Haken habe gelesen, aber ich bin

1) nicht sicher, ob es funktioniert, wenn ich 4 repos haben in einem Repo aktualisiert werden?

2) Struktur von repoFinal wird zB als alle anderen vier repos unterschiedlich sein:

REPOA -> ProjectA

repoB -> ProjectB

repoC -> ProjectC, ProjectG

repoD -> ProjectD, projecte und ProjectF

finalRepo -> ProjectA, ProjectB, ProjectG, ProjectD, ProjectE (Ich möchte nicht ProjectC und ProjectF in meinem neuen Repo)

Alle Vorschläge oder Erkenntnisse werden hilfreich sein.

+0

Wenn Sie auf einem Unix-basierten System sind, können Sie einen cron-Job planen Sie eine 'git fetch' oder etwas komplizierter zu machen. –

+0

Vielen Dank für Ihre Antwort. Aber die Verwendung von Cron-Job lässt keinen Spielraum für die Beibehaltung des Git-Verlaufs? –

+0

Ich verstehe deine Frage nicht. Wenn der Cron-Job "git" -Befehle ausgibt, wird der gesamte Verlauf genau so beibehalten, wie wenn Sie die Befehle manuell eingeben. –

Antwort

0

Erstellen Sie eine FinalRepo und fügen Sie die anderen Repos mithilfe von Git Submodulen hinzu. Jedes Mal, wenn Sie synchronisieren möchten, gehen Sie einfach in jedes Submodul und führen einen Git-Pull durch und binden dann das FinalRepo an die Wurzel.

Werfen Sie einen Blick auf https://git-scm.com/book/en/v2/Git-Tools-Submodules

Verwandte Themen