i've been using git flow little while now, in initial week or creating release branches manually master , cherry picking required commits release branch rather creating them master.
for example, if have commit abcd123 commit message
in develop branch, had cherry picked release branch manually, , @ point had amended or edited commit message, release branch (and master branch) contain commit different hash, e.g. dbca321 adjusted commit message
.
the problem here when create release develop, contains commits don't want deploy @ stage, rebase against master , exclude commits don't want. after rebasing however, commit hash different "my commit message" above between master, release , develop. explains why keeps showing whenever create release.
i want able use git flow create releases develop, remove commits necessary without having issue occur. creating release branches manually via cherry picking easy way achieve that, , when merged develop seems work nicely, it's not how git flow supposed used.
how git flow (master/develop) on track/in sync , achieve this?
i've been using gitflow while. here's practice it:
- everything goes
develop
until feel ready start preparing release. may timeframe between minutes , days last deployment. - create
release
branch off ofdevelop
, or better yet - off of last commit on develop branch should go release. idea minimise cherry-picks or reverts betweendevelop
,release
, cause headaches. - keep committing
release
, unless adding/changing cannot go release branch. in case, commitdevelop
, again try minimise reduce merge headache. - when ready, merge release branch
develop
,master
, test , deploy. - go 1.
some gui tools wrap git nicely , offer one-click gitflow actions, should strive know happens under hood troubleshoot these 'automatic' tools when fail.
Comments
Post a Comment