Bitbucket – Version control & Code collaboration

Imagine a scenario where the team of 20 developers working on the same project. Some of them are working on the same file or same line at the same time. What happens when all developers complete their tasks and submit their code?

This type of scenario is very common in the project development life cycle. Version control tools make it easy to manage. This article will give you a basic understanding of version control tools and how to use them effectively.

There are many tools available like GitHub, Gitlab, Bitbucket, etc… The Bitbucket is used as a version control tool in the Global Vox. Every developer should have an account in the Bitbucket tool if actively coding in any project.

Every project has its tasks and each task is assigned to developers. There is a possibility of assigning the same task to two or more different developers.

In Bitbucket, there is a master branch that has the stable code of the project. Only the tech lead has permission to send the code to the master branch. Every developer creates their branch and starts the coding. It’s recommended to create a new branch for a new task. Developer submits their code on the completion of the task in the form of pull-request.

Every pull request has a reviewer who reviews the code and makes sure about the coding standards. Pull requests merge the code into the development branch which is always ahead of the master branch. During pull requests, there is a possibility of a code conflict when more than one developer has worked on the same part of the code. The reviewer takes the help of the developer to resolve the conflict and make the final copy on the development branch.

The development branch gets deployed on the development server when all the pull requests are merged. Once it’s verified, the development branch merged into the test branch which is deployed on the test instance. QA team verify the code on the test instance. In QA verification, there are chances of bugs that get resolved by the developers and create a pull request for the development branch and follow the same cycle until there are no bugs or minimum bugs. The final stable copy merged into the master branch after QA and that is the stable code.

Check the image for more understanding.

Mayank is a B.Tech in computer science and working as a Tech Lead at Global Vox.
He is a techno-geek and likes to take on challenges and learn new technologies.
He wanted to use his experience to uplift the developer community.

Mayank Chauhan, Technical Lead at GlobalVox | Posted on: September 30, 2021