0

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

Jared Teng
  • 311
  • 1
  • 5
  • 21
  • There is no “standard” Git usage, I would rather call it “common”. Git supports more ways than how it’s used commonly. I see no problem in your way of branching and merging. Cherry-picking is definitely a valid way of using Git – after all, Git has a command for it. – Melebius Aug 30 '17 at 06:04
  • 1
    Normally, with git, you just have 1 project per git repository, this works great with the tools git gives you, like the global gitignore, no ability to do partial checkout,per repository settings. Your cherry-pick method has the disadvantage that accidental changes could be introduced from bad merge after applying the picks, or forgetting to cherry-pick 1 revision. Also, all of git access control scripts are also per-repository, so checking multiple projects in a single script can be a bit of an hassle – Ferrybig Aug 30 '17 at 06:06
  • It is 1 project per git repo. Just that the test domain/Environment holds multiple microservices, projects, fixes, etc. – Jared Teng Aug 31 '17 at 05:53

0 Answers0