2 Stimmen

Wie wird die Zusammenführung durchgeführt?

Ich habe einen Master-Zweig und einen Feature-Zweig. Der Funktionszweig hat einige Änderungen, aber der Hauptzweig hat viele Änderungen wie das Entfernen von 10 Projekten aus dem Repository. Die Frage ist, wie man den Funktionszweig wieder mit dem Hauptzweig zusammenführt?

1) Feature mit Master und dann Master mit Feature zusammenführen

OR

2) Master mit Feature direkt zusammenführen

2voto

bryan kennedy Punkte 6479
checkout master
checkout -b develop (assuming you don't already have a develop branch)
merge --no-ff your-feature-branch

Lösen Sie alle Konflikte im Code. Testen, testen, testen.

checkout master
merge --no-ff develop

Stellen Sie dann Ihren Code bereit.

I Dieses Verzweigungsmodell gefällt mir sehr da ich die Funktionen immer in den Feature-Zweigen entwickle und die abschließenden Tests in den Entwicklungszweigen durchführe. Und immer nur in Master zusammenführen. Auf Master finden keine Übertragungen statt.

1voto

Adam Dymitruk Punkte 116211

Führen Sie keine Back-Merges durch. Integrieren Sie auf einem Integrationszweig. Testen Sie abgeschlossene Zweige auf einem Release Candidate-Zweig. Führen Sie nur zu Master zusammen, wenn Sie einen Release Candidate veröffentlichen. Sie führen den Release Candidate zusammen, der bereitgestellt wurde.

Mehr dazu hier:

https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

UPDATE

Ich habe das hier neu geschrieben:

http://dymitruk.com/blog/2012/02/05/branch-per-feature/

-1voto

Sailesh Punkte 24557

Beide führen zu demselben Zustand für master . Es ist nur so, dass feature Zweig wird auf den gleichen Stand gebracht wie master im ersten Fall und bleibt im zweiten Fall unbeeinflusst.

Wenn Sie fragen, was Sie tun sollen, dann ist die erste Variante vorzuziehen. Sie sollten den Master zuerst "in" das Feature zusammenführen, so dass alle Fehler nach dem Zusammenführen nicht den Master beeinflussen. Behält die master sauber. Dadurch wird auch sichergestellt, dass es keine merge conflicts in der Meisterin überhaupt.

Das ist meine allgemeine Praxis: Führen Sie den Master-Zweig in einen beliebigen Feature-Zweig ein und prüfen Sie, ob alles funktioniert. Wenn etwas kaputt ist, repariere es. Dann füge den neuesten Masterzweig wieder ein. Erst wenn der zusammengeführte Zweig gut erscheint, wird er in den Master-Zweig übernommen.

-1voto

richo Punkte 8149

Ich würde das Feature auf den Master zurücksetzen, dann das Feature auf den Master vorspulen.

(mit Feature Checkout)

git rebase master

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X