Bitbucket is source code management tool where organizations can create projects and repositories where developers can store their code. Bitbucket is based on Git. It has default branch master and for parallel development users can create n number of branches and through Bitbucket branches can be managed easily.
Pull request can be done on the UI and can be set reviewer for code review before merging to master branch and these pull request can be rejected or approved based on the code quality checks. Bitbucket can be integrated with Jenkins through webhooks where jobs can be triggered once code is pushed to Bitbucket
Bitbucket server can be installed on cloud with cloud formation templates with less effort of using amazon services. Bitbucket data center supports Bitbucket mirroring through which user in different geo graphical location can access Bitbucket without latency. And projects can be mirrored to the different regions based on the project teams.
Role based access through LDAP , groups can be synchronized through Active Directory and these groups can be given restricted access to required projects based on project management. User and groups cab be given Read, Write or Admin access. Admin can add or delete the repositories to project where as write can read and add filed to Bitbucket. Read access is only to read the repository
Bitbucket also allows to access to HTTPS and SSH protocol. Every user can be able to add SSH keys to user profile and access without password
One can easily protect their branches from direct commits /pushes through Bitbucket branch permissions. Easily restrict set reviewers for every branch. And Bitbucket notifies users for every pull request , for every push to the repository so that every user will get to know the things happening to its own repository
One an fork their repository and will be able to get changes automatically through this feature.
It easy for developers, testers and architects to see the code changes and who made the changes
It is easy to get the history of the changes
One can easily blame the changes done on one file
Pull request made easy way of merging branches
Reviewers can do code review before merging on UI
Architects can Merge the branch or reject if code doesn't meet the quality