Zusammenführen von zwei Zweigen zu erstellen, die neue Niederlassung
Wir haben ein paar Filialen...
master
ist unsere dev-Zweig.feature-newfeature
ist ein neues feature.feature-tempfeature
ist ein neues feature, dass unser Produkt-team gebeten haben, bis neues feature erstellt wird.feature-newfeature
gestartet wurde vor einer Weile und wurde noch nicht zusammengeführtmaster
noch (aber es gab auch noch andere änderungenmaster
).
Haben wir jetzt angewiesen worden, um diese temp-Funktion, in der die Bedürfnisse aller änderungen, die sich aus master
- es ist also eine lösbare bauen - aber muss auch einige der Sachen, die wir gearbeitet haben in newfeature
(wie Sie sagen, "Sie wiederverwenden können einige der Sachen, die Sie bereits getan").
Wie wäre es am besten, gehen Sie über das tun dies? Erstellt habe ich feature-tempfeature
von der master
Zweig. feature-newfeature
ist noch nicht fertig, und ich will nicht, es zu verschmelzen in den master.
Ich will nicht, um Sie nur feature-newfeature
entweder weil wir wollen in der Lage sein, weiter zu arbeiten auf, die in parallel.
Wie würden Sie klären diese Frage in Ihrem dev-Umgebung?
Vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zweige sind nur Aliase für einen bestimmten commit. Daher können Sie mehrere äste, die sich tatsächlich auf den gleichen commit. Also, was Sie tun können, ist das erstellen einer neuen Niederlassung
newBranch
dass die Punkte auf den gleichen commit auf master und dann mergefeature-tempfeature
innewBranch
. Die Wirkung wäre die gleiche, wie die Verschmelzung in den master, mit der Ausnahme, dass der Meister bleibt davon unberührt.master
innewfeature
und dann Zusammenführennewfeature
intempfeature
was bedeutet, dass meinenewfeature
ist up to date mit den master-wie auch?tempfeature
und in der Zukunft wieder mitnewfeature
git-cherry-pick
(git-scm.com/docs/git-cherry-pick), um die änderungen auf bestimmte commits selektiv.Von meinem Verständnis Ihrer Situation ist die folgende:
Deinem problem: müssen Sie
tempf
mit den Veränderungen dermaster
sowienewf
soLösung:
1) Fundus, nicht gespeicherte änderungen in
tempf
mit$ git stash
2) Merge master mit tempf-und merge-newf mit tempf, um die änderungen der beiden master-und newf
3) Stash pop Ihre änderungen mit
$ git stash pop
Und wie @MaxLeske gesagt, die Zweige sind nur Aliase, die Sie dienen, genau wie Zeiger auf einen commit, Sie sind jedoch nicht verpflichtet sich.
git stash
was für ein toller Befehl, wusste nicht, dass Sie das tun könnten. Ich habe festschreiben oder zurücksetzen der Dateien die ganze Zeit. 🙂 Danke für deine Antwort.