Gegeben Repo Foo und Repo Bar. Ich möchte Bar mit Foo zusammenführen, aber nur in einem separaten Zweig namens baz.
git checkout -b baz <= hier das Bar Repo einfügen.
Gegeben Repo Foo und Repo Bar. Ich möchte Bar mit Foo zusammenführen, aber nur in einem separaten Zweig namens baz.
git checkout -b baz <= hier das Bar Repo einfügen.
Antworten:
Sie können ein Repository nicht in einem Zweig zusammenführen . Sie können einen Zweig aus einem anderen Repository in einen Zweig in Ihrem lokalen Repository zusammenführen. Angenommen, Sie haben zwei Repositorys foound barbeide befinden sich in Ihrem aktuellen Verzeichnis:
$ ls
foo bar
Wechseln Sie in das fooRepository:
$ cd foo
Fügen Sie das barRepository als Remote hinzu und rufen Sie es ab:
$ git remote add bar ../bar
$ git remote update
Erstellen Sie einen neuen Zweig bazim fooRepository basierend auf Ihrem aktuellen Zweig:
$ git checkout -b baz
Zweig somebranchaus dem barRepository in den aktuellen Zweig zusammenführen:
$ git merge --allow-unrelated-histories bar/somebranch
( --allow-unrelated-historiesist vor Git Version 2.9 nicht erforderlich)
Aktualisiert mit "realen" Befehlen:
Beginnen Sie in Ihrem Repo-Verzeichnis und stellen Sie sicher, dass Ihre Arbeitskopie sauber ist (keine Dateien geändert, hinzugefügt oder entfernt).
Erstellen Sie einen neuen Zweig:
git checkout -b <my-branch>
Fügen Sie die sekundäre Fernbedienung hinzu und rufen Sie sie ab:
git remote add <repo-name> git@github.com:xxx/<repo-name>.git
git remote update
Führen Sie einen ihrer Zweige in Ihrem aktuellen Zweig zusammen:
git merge <repo-name>/<their-branch>
Wenn Sie nicht wissen, was <their-branch>Sie wollen, dann machen Sie esmaster
Wenn Sie sicher sind, dass Sie alle Remote-Änderungen akzeptieren und Konflikte vermeiden möchten ( überschreiben Sie Ihre ), können Sie im letzten Schritt die -X theirsOption für angeben git merge.
Wenn Sie es in ein Unterverzeichnis einfügen möchten, sollten Sie wahrscheinlich Git-Submodule verwenden
Mit der Anleitung von Larsks konnte ich dies mit SourceTree tun.
--allow-unrelated-historiesden git merge befehl hinzufügen .