You can think of a version control system (short: "VCS") as a kind of "database". It lets you save a snapshot of your complete project at any time you want. When you later take a look at an older snapshot (let's start calling it "version"), your VCS shows you exactly how it differed from the previous one.
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people. It is primarily used for source code management in software development, but it can be used to keep track of changes in any set of files. As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows
Bitbucket is a web-based hosting service for projects that use either the Mercurial (since launch) or Git (since October 2011) revision control systems. Bitbucket offers both commercial plans and free accounts. It offers free accounts with an unlimited number of private repositories (which can have up to five users in the case of free accounts) as of September 2010, but by inviting three users to join Bitbucket, three more users can be added, for eight users in total. Bitbucket is written in Python using the Django web framework.
Nearly every open-source project uses GitHub to manage their project. Using GitHub is free if your project is open source and includes a wiki and issue tracker that makes it easy to include more in-depth documentation and get feedback about your project. If you want to contribute, you just fork a project, make your changes and then send them a pull request using GitHub web interface.
By using GitHub, you make it easier to get excellent documentation. Their help section and guides have articles for nearly any topic related to git that you can think of.
Are you a developer and wishes to attract recruiters? GitHub is the best tool you can rely on for this. Today, when searching for new recruits for their project, most companies look into the GitHub profiles. If your profile is available, you will have a higher chance of being recruited even if you are not from a great university or college.
Markdown allows you to use a simple text editor to write formatted documents. GitHub has revolutionized writing by channeling everything through Markdown: from the issue tracker, user comments, everything. With so many other programming languages to learn for setting up projects, it’s really a big benefit to have your content inputted in a format without having to learn yet another system.
GitHub is a repository. What this means that it allows your work to get out there in front of the public. Moreover, GitHub is one of the largest coding communities around right now, so it’s wide exposure for your project.
A good code review system often helps in making a team follow the best practices in writing better codes. Bitbucket has an improved code review system with a faster turnaround time for pull request, thereby making collaboration easier – both for the developer as well as the reviewer.
We all know the effectiveness that JIRA provides for bug tracking within a project. Well, another reason to use this tool is that you can easily integrate Bitbucket and JIRA. Thus, enabling a user to freely track the issue status or the bug report, without leaving the current tool.
If JIRA is not your thing and you want to keep things within the repository, then you can easily create an issue tracker for your repository in Bitbucket. It is very flexible and has a few configurable fields like the version, milestone, etc.
Bitbucket offers a distinctive feature for developer and reviewer interaction, know as the in-line discussions. Inline comments and threaded conversation can be made within the code snippet.