Wir haben ein paar Filialen ...
master
ist unser Dev-Zweig. feature-newfeature
ist eine neue Funktion. feature-tempfeature
ist eine neue Funktion, die unser Produktteam angefordert hat, bis ein neues Feature erstellt wurde. feature-newfeature
wurde vor einiger Zeit gestartet und wurde noch nicht in master
zusammengeführt (aber es gab andere Änderungen an master
). Wir sind nun angewiesen worden, diese temporäre Funktion in die alle Änderungen von master
zu bringen - also ein releasebarer Build - aber auch etwas von dem, an dem wir gearbeitet haben, in newfeature
(wie sie es brauchen) sagen Sie "Sie können einige der Sachen wiederverwenden, die Sie bereits getan haben").
Wie wäre es am besten, dies zu tun? Ich habe feature-tempfeature
vom Zweig master
erstellt. feature-newfeature
ist noch nicht fertig, und ich möchte es nicht zu master zusammenführen.
Ich möchte nicht nur feature-newfeature
verwenden, weil wir parallel dazu weiterarbeiten wollen.
Wie würden Sie dieses Problem in Ihrer Entwicklungsumgebung lösen?
Vielen Dank!
-Verzweigungen sind nur Aliase für ein bestimmtes Commit. Daher können Sie mehrere Zweige haben, die auf dasselbe Commit verweisen. Sie könnten also einen neuen Zweig newBranch
erstellen, der auf denselben Commit wie der Master verweist, und dann feature-tempfeature
in newBranch
zusammenführen. Der Effekt wäre der gleiche wie beim Mischen in Master, außer dass der Master unberührt bleibt.
Nach meinem Verständnis ist Ihr Szenario:
%Vor% Ihr Problem: Sie benötigen tempf
mit Änderungen von master
sowie newf
so
Lösung:
1) Speichern Sie Ihre ungesicherten Änderungen in tempf
mit $ git stash
2) Master mit tempf zusammenführen und newf mit tablf zusammenführen, um die Änderungen von master und newf zu erhalten
3) Veröffentlichen Sie Ihre Änderungen mit $ git stash pop
Und wie @MaxLeske gesagt hat, sind Zweige nur Aliasnamen, sie dienen genau wie Zeiger auf einen Commit, sind aber nicht die Commits selbst.
Tags und Links git version-control