Verwendung gitflow, wenn eine Erstellung release-1.0.0
Zweig und es sowohl verschmelzenden master
und develop
werden beide Zweige haben eine Commit fehlt:
master
Ich werde das Commit nicht haben, worelease-1.0.0
es zusammengeführt wurdedevelop
develop
Ich werde das Commit nicht haben, worelease-1.0.0
es zusammengeführt wurdemaster
Stattdessen wird nach hotfix-1.0.1
erstellt und zusammengeführt master
, wenn es verschmolzen wird, um develop
den, Commits merge wird die vorherige umfassen commit wo release-1.0.0
zu verschmolzen wurde master
; so wird es aussehen:
User 'john doe' is trying to merge the following commits into 'develop' from 'hotfix-1.1.1'.
* merge release-1.0.0 to master
* merge release-1.1.0 to master
* Fix shopping cart critical bug
Wenn dies verwirrend klingt, können Sie leicht feststellen, dass jeder, den Sie sehen, develop
normalerweise ein paar Commits hinter sich hat master
(obwohl die Entwicklung theoretisch nur voraus sein sollte, da es sich um den Hauptzweig handelt. Diese Commits sind Zusammenführungen von release-x.x.x
bis master
).
Wie sollte damit umgegangen werden, um eine saubere Historie aufrechtzuerhalten?
Antworten:
Ich denke, ein guter Ansatz ist es, zu vermeiden, dass zwei "Haupt" -Zweige, Master und Development, überflüssig sind. Es wird hier ausführlich erklärt und
cactus-flow
vom Autor gebrandmarkt .Einige Punkte fallen im Gegensatz zum Git-Flow auf:
Für mich ist der letzte wichtig, da ich nach langer Verwendung von git-flow noch nicht gesehen habe, was an Zusammenführungen nützlich ist
--no-ff
.IMHO das ist dein großer Fehler. Es gibt keinen Grund für dich, so viel wie möglich am Git-Flow festzuhalten. Es kann in Tausenden von Projekten verwendet werden, aber das wirkt sich nicht auf Ihre aus, macht es nicht gut.
Git-Flow ist ein guter Ausgangspunkt, aber Sie sollten darüber nachdenken, es an Ihre Tools und Ihren Workflow anzupassen, und nicht umgekehrt.
quelle