Everyone knows and has at least once used GitHub. It is the largest code host on the planet and has over 21.4 million and many users. It is unarguably the most widely used tool by developers worldwide.
Ranked in these QuestionsQuestion Ranking
Pro Supports Two-Factor authentication
GitHub has added another layer of security to their user accounts. This layer comes in the form of Two-Factor authentication. After it's enabled, GitHub delivers an authentication code by SMS, or by a free application for smartphones. After two-factor authentication is enabled, the authentication code is sent to the account owner's phone any time someone attempts to sign into their GitHub account. This means that only someone who has both the password and authentication code can sign into the account.
Pro Convenient continuous integration with Travis CI
GitHub can be integrated with Travis CI for code testing and it is free for free open-source projects.
Pro Simplified team management tools
GitHub has easy and useful features to control teams, large and small alike. Team members can be given different powers on different projects, ranging from the ability to create them, to only being able to have read-only access.
Pro Large community
GitHub is the largest code host on the planet with over 21.4 million hosted repositories and many users. It's unarguably the largest VCS used by developers worldwide and as such, it has a vibrant community that follows it resulting in many guides and tutorials for new users. Even experienced developers can always find an answer to any question they may have.
Pro Nice and usable UI
GitHub's UI is clean and intuitive. Each view is designed to not fill the screen with useless information.
For example, the repository view displays only the most crucial data about that repo - on the top it displays the number of commits, branches, releases and contributors. When clicked, each of them will take the user to a page that displays more detailed information.
Pro Anyone can fork
Any user can fork a project and submit a pull request. If accepted by the owner, the fork will be merged with the master branch.
Pro Excellent native apps
GitHub has native apps for mobile (iOS and Android), Windows and Mac, which make code deployment easier and faster.
Con Proprietary tool
Con Issues are not systematically linked to a specific release
Con Only git repositories are fully supported
Github has full support only for Git, while it has some support for SVN. But it doesn't have any support for Mercurial though.
Con Only public repositories are free
Unfortunately, compared to some other competitors, GitHub offers closed repositories only for premium users, and the price is not cheap at all.