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.

3 Responses to Git, GitHub, GitLab, BitBucket, What’s the difference?

  1. Graham says:

    Hi Steve – That sounds an excellent idea, in the company i work for the web developers use GitHub and an excellent product SourceTree which shows Git trunk and branches graphically.I am in the low priorityprocess of using the Redgate tools – SQL source control to provide CI and eventually deploying to prod small changes. It would be very interesting to see a worked example of SQL Source Control from a (DBA SQL Server Developer perspective) linked to a local version of GIT and then used with a hosted version (maybe GitHub and Bitbucket examples), we can host bitbucket on an on premise Centos linux box, hence the reason to ask for inclusion.

    • way0utwest says:

      I need to do some writing with SQL Source Control. I’ll see what I can do here to help explain this.

    • way0utwest says:

      For bitbucket, are you looking for showing the hosted git on their servers? That’s fairly easy, and I can do that. Setting up my own box for hosting software and trying to get a license is probably more work than I want to tackle.

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.