We have currently transitioned from SVN to GIT. In SVN what we do is have multiple testing Environments, DEV, SYS, and UAT. These environments will house multiple projects with multiple individual changes.
E.g.
SYS has Project Apple with bug fix a1, a2, a3 and Project Banana with bug fix b1, b2, b3
UAT has Project Apple with bug fix a1, a3 and project Banana with bug fix b1.
Scenario: We now need to move Fix b2 from SYS to UAT. Only b2 because only b2 has passed SYS testing.
In SVN, we just take commit b2 from SYS and merge to UAT.
In Git, right now, we just cherry pick from SYS2 the commit b2 while in branch UAT.
Problem: This does not seem to follow the standard of Git moving whole branches or features to another Environment and eventually prod.
What other viable approach are there using Git, and maximising all that Git can offer, while still maintaining standards? or should we just stay with our cherry pick approach?
I have researched for sometime and have failed to find a standard solution for our needs.
Standard example: How to properly use git and branches