Version Control Systems are a category of software tools that help a software team manage changes to source code over time.
Version Control Systems keeps track of every modification to the code in a special kind of database.
If a mistake is made, developers can turn back the clock and compare earlier versions of the code to help fix the mistake while minimizing disruption to all team members.
| Feature | VSTS | GitHub | BitBucket | GitLab | Notes |
|---|---|---|---|---|---|
| Open Source | - | - | - | x | Bitbucket offers source code if self hosting. |
| Free Public Repositories | - | x | x | x | Git, GitLab are unlimited. BitBucket allows only teams of 5. |
| Free Private Repositories | - | - | x | x | GitLab is unlimited. |
| Public Repositories | - | x | x | x | |
| Self Hosted | x | x | x | x | |
| Fork / Clone Repositories | - | x | x | ||
| Pull request | x | ||||
| Code review | x | ||||
| Inline editing | x | ||||
| Issue tracking | x | ||||
| Markdown support | - | x | x | ||
| Two factor authentications | x | ||||
| Advanced permission management | x | x | |||
| Hosted static web pages | - | ||||
| Feature rich API | x | x | |||
| Snippets | - | x | |||
| 3rd party integrations | x |