Mam kilka repozytoriów git, z których każdy zawiera jeden plik. Chciałbym połączyć je wszystkie razem, najlepiej w jednym kroku. Co mi jest dążenie do tego wykresu:Połączenie ośmiornicy Git z niepowiązanymi repozytoriami
*----¬ mergedrepo/master
| \ \ \
| | | * repoA/master
| | * repoB/master
| | |
| | * repoB/...
| * repoC/master
* repoD/master
|
* repoD/...
Próbowałem git merge
, ale wydaje się, że strategia ośmiornicy nie działa dla drzew rozłącznych
$ git merge a/master b/master c/master d/master
Unable to find common commit with a/master
Automatic merge failed; fix conflicts and then commit the result.
powiedziano mi też, że git merge --squash
pomogłoby , ale to dało ten sam błąd.
Generuje prawy wykres, ale traci wszystkie pliki:
$ git merge -s ours a/master b/master c/master d/master
Jak mogę to zabrać?
Twoje połączenie ośmiornicy zadziała, po prostu musisz naprawić konflikty, tak jak mówi komunikat. Po rozwiązaniu konfliktów powinieneś móc po prostu zatwierdzić. –
@CharlesBailey: Nie ma konfliktów! – Eric
Tak, są: "Automatyczne scalanie nie powiodło się, napraw konflikty, a następnie zatwierdz wyniki.". Aby rozwiązać konflikt, prawdopodobnie chcesz dodać wszystkie ścieżki będące w konflikcie, jeśli pliki nie mają takich samych nazw w repozytoriach. –