We're a small team of developers and building a web application. We're currently having a live, testing and several development environments.
What branch architecture would you suggest, so ideally each developer can work on his feature(s), these can be tested and deployed without tangenting other developers/features?
Currently, each developer has its own development branch and rebases into the testing branch. As soon as a feature is approved, the developer rebases his changes into the master.
This works as long as the features are tested immediately. However, if one developer is working on the next feature while the feature before is still tested, we need to handle things manually.
Thanks for opinions.
Build your strategy from these three concepts: Use feature branches for all new features and bug fixes. Merge feature branches into the main branch using pull requests. Keep a high quality, up-to-date main branch.
Git uses a three-tree architecture It still has the repository and the working copy, but in between is another tree, which is the staging index.
Git Flow. The Git Flow is the most known workflow on this list. It was created by Vincent Driessen in 2010 and it is based in two main branches with infinite lifetime: master — this branch contains production code.
It has been a while that I follow this useful guidelines described by Vincent Driessen in his article A successful Git branching model.
You can take a look there and you will see how he describes the branches management and avoid rebases
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With