Git Merge Repositories
Während wir an einem Projekt mit verschiedenen Teammitgliedern mit separaten Repositories für jedes Team arbeiten, sehen wir uns zu einem bestimmten Zeitpunkt einer Situation gegenüber, in der wir diese separaten Repositories in einem Master-Repository kombinieren möchten, um die gesamte Arbeit unter Verwendung eines einzigen Repositorys bereitzustellen.
Es scheint schwierig zu sein, verschiedene Repositories zu einem zusammenzuführen, sogar die Erhaltung seiner wertvollen Commit-Historie, aber das ist es nicht wirklich. In diesem Artikel werden wir Schritt für Schritt erläutern, wie Sie separate Repositories zu einem einzigen Master-Repository zusammenführen.
Schritte zum Zusammenführen von Repositories in Git
Angenommen, wir haben drei Repositories: repo A
und repo B
, und dann haben wir ein repo Z
, in dem wir A
und B
zusammenführen möchten. Nehmen wir noch eine Sache an, wir befinden uns gerade im Verzeichnis von repo Z
, wo wir diese beiden Repositories A
& B
zu einem Z
zusammenführen wollen.
Nehmen wir noch etwas an; repo Z
ist der Master-Branch des Repositorys.
- Fügen Sie Remote-URLs hinzu
In diesem Schritt führen wir den Befehl git remote add
mit dem Attribut -f
aus; Dadurch wird eine Fernbedienung für repo A
hinzugefügt, wir nennen sie repo A
.
```bash
git remote add -f remote-A <repo-A-URL>
```
Mit der Option -f
wird der Befehl git fetch <name>
unmittelbar nach dem Aufbau der Remote-Informationen abgearbeitet.
Wir werden das gleiche Verfahren anwenden, das oben für repo B
beschrieben wurde.
```bash
git remote add -f remote-B <repo-B-URL>
```
- Kombinieren Sie Dateien und Ordner
Wir werden nun die repo A
-Dateien mit dem folgenden Befehl in den aktuellen Zweig (repo Z
) zusammenführen.
```bash
git merge remote-A/master --allow-unrelated-histories
```
Hier fügen wir --allow-unrelated-histories
hinzu, damit Git das Zusammenführen von nicht verwandten Historien erlaubt.
Wieder wird der gleiche Vorgang für repo B
mit dem folgenden Befehl wiederholt.
```bash
git merge remote-B/master --allow-unrelated-histories
```
Wenn nach dem Ausführen des obigen Befehls Konflikte auftreten, werden wir sie lösen und die Zusammenführung erfolgreich festschreiben.
- Zeigen Sie den Commit-Verlauf an
Wir werden den folgenden Befehl git log
ausführen, um den zusammengeführten Commit-Verlauf anzuzeigen, was unser letzter Schritt wäre, um den gesamten Zusammenführungsverlauf verschiedener Repositories anzuzeigen.
```bash
git log
```
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn