workflow - Git flow - managing differences between master and develop -


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:

  1. everything goes develop until feel ready start preparing release. may timeframe between minutes , days last deployment.
  2. create release branch off of develop, or better yet - off of last commit on develop branch should go release. idea minimise cherry-picks or reverts between develop , release, cause headaches.
  3. keep committing release, unless adding/changing cannot go release branch. in case, commit develop, again try minimise reduce merge headache.
  4. when ready, merge release branch develop , master, test , deploy.
  5. 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