2017-02-17 1 views
2

Ich verwende gitflow Workflow. Von master, habe ich einen hotfix Zweig erstellt und etwas repariert. Bevor ich zurück zu master fusioniere, dachte ich mir, dass ich zuerst zu develop fusionieren würde, nur um die Änderungen im Staging zu sehen und dann zum Master zusammenzuführen.Wie mache ich eine Verzweigung vom Commit vor einer Zusammenführung?

Said verschmelzen zu develop fix einen Konflikt hatte, die ich gelöst, indem in die hotfix Zweig entwickeln Verschmelzung (ja, Schande über mich) und ich erkannte, nur kann ich nicht, dass zu master fusionieren, wie instabil die Dinge entwickeln noch.

Wie erstelle ich eine Verzweigung aus dem Commit vor der Zusammenführung mit develop?

PS: Ich fusionierte mit git merge develop (nicht die no-ff Flag verwendet).

+0

Brauchen Sie einen Zweig oder müssen Sie diesen Commit nur in Master migrieren? –

+0

Ein Zweig, weil unsere Repository-Regel kein direkter Push zu meistern ist, immer PR. –

Antwort

2

Ich gehe davon aus, dass Ihre Struktur etwas wie folgt aussieht:

A - B - C  <- master 
\ \ 
    \ \- F - G <- hotfix 
    \  /
    \-D - E  <- dev 

würden Sie fusionieren gerne die von F in master zurück vertreten commit, die jetzt bei C ist.

Sie können einen separaten Zweig erstellen, dies zu tun, wie Sie verlangen:

git checkout hotfix^ -b unmerged-hotfix 

In diesem Fall hotfix^ die vor der aktuellen Spitze des hotfix zu begehen ist. Der neue Zweig wird unmerged-hotfix heißen.

Wenn auf der anderen Seite Sie nur direkt in Master zusammenführen möchten, ohne einen neuen Zweig zu machen, Sie

git checkout master 
git merge hotfix^ 

dies tun können, werden die vor der Spitze des hotfix in Master verpflichten fusionieren.

+0

Hervorragende Erklärung. In meinem Fall wollte ich einen neuen Zweig, weil wir nicht zum Master (Repo-Regel) drängen können, also öffnen wir immer einen PR. Nun nehme ich an, ich habe ein 'H' und 'I' Commit auf' Hotfix' nach dem Zusammenführen von 'develop' gemacht. Wie würde ich die gleichen Ergebnisse erzielen, aber ** mit "H" und "I" auf "Master"? (im Grunde jedes Commit, außer der Zusammenführung: 'F',' H', 'I'; aber kein' G') –

+0

@ChristopherFrancisco. Ich würde eine interaktive Rebase oder eine Cherry-Pick machen. Das ist jedoch völlig außerhalb des Rahmens Ihrer aktuellen Frage, also würde ich weitermachen und einen anderen fragen. Wenn du eine PR benötigst, würde ich im Grunde von "F" abgehen, wie hier beschrieben, und dann "H" und "I" aufheben. –

+0

@ChristopherFrancisco Alternativ können Sie Ihren Beitrag mit der erweiterten Frage als Teil einer ausführlicheren Erklärung dessen, was Sie tun möchten, bearbeiten, und ich werde meine Antwort entsprechend erweitern. Angesichts der Frage, die Sie haben, glaube ich nicht, dass es zu breit oder so sein würde. –

Verwandte Themen