how do people working on multiple features work on their items parallely? why is amazon promoting such technical path? why not branching and merging??
Of course we work on separate branches for different features. Not sure why you'd think otherwise. Amazon is certainly not promoting usage of only mainline. The CD pipeline is set to a specific branch, usually mainline, and we merge to that branch in order to deploy.
You should work on a branch and merge to mainline. The only reason not to create a branch is if you own the service. The reason why you see people work directly on mainline is because they are either rushed on time or suck at git.
I worked on mainline because branching had no value to me. I 'branched' by creating multiple workspaces. The only times I created branches were when I worked on proof of concepts or needed to deploy changes to my local env with new dependencies built in (reqd remote branch)
Branching and pushing the branch to remote can act as a cloud storage when you are developing. If something happen to your laptop or local environment you can recover. It can also act as a mechanism for operational safety. Once you merge to mainline the code will be in production. So creating an extra barrier allows you to further review the code before pushing code to production.
What do you mean by working on mainline? Someone can merge changes to main branch without pull request ?
My question exactly!
You are expected to have multiple branches locally for different features(some prefer different workspaces) but when you submit that code, it is your responsibility to merge that with mainline. This is different from git flow where someone else merges your code into a release. IMO this promotes ownership.
This promotes frugality, amzn doesn't have to hire another guy.
I dont get it, even with git I am the one responsible to merge my feature branch to master.