Git, GitHub, GitLab, BitBucket, What’s the difference?

I was watching Brent’s webcast session on GitHub recently. I’ve struggled to explain this to users in the past, and it’s always good to see what others do when they do similar sessions.

You can watch Brent’s session, and I’ve got some content on git. Need to do more for Redgate, so look for some content to appear on the Hub or our YouTube Evangelist playlist.

In any case, what’s the deal with Git, et al?

Git is a version control system (VCS). If you’ve ever used TFS for code, or Visual SourceSafe or Subversion, Perforce, CVS, etc., they are all methods of tracking versions of files. Usually for code, but could be for any files. Binaries don’t work as well, but any text, and plenty of people use a VCS for book projects.

While git (or Git) is a VCS, there are various companies that provide git hosting services. GitHub is the most well known, now owned by Microsoft. This means that they provide essentially a remote file service for git projects. Since git is a distributed VCS, this means that you can have multiple copies of your git repository (folder) and sync back and forth. Like DropBox, but with programming code versions.

BitBucket, GitLab, Beanstalk, Codebase, etc. are all hosting services. You could duplicate the git portion of hosting with a VM in Azure, AWS, etc. However, these services provide a few other things. They include some features like security, clients, and pull requests. A pull request is a method of notifying people to review your code before it merges, and it’s a fantastic team feature. It’s in git, but it’s cleaner with a service.

I tend to use Azure DevOps for my git hosting, but I do have repos at GitHub as well. I’ve tried BitBucket, and really they all feel the same. I get used to a GUI or CLI push/pull of code and then it doesn’t matter.

If you’ve never tried using git for code, give it a try today. I’ll get more content and videos up soon, so watch for those.

About way0utwest

Editor, SQLServerCentral
This entry was posted in Blog and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.