001 : Difference Between Git vs GitHub vs GitLab



Are you new to Programming or Software development? Then you must know about Git, GitHub, and GitLab. But, if you already aware of the concept and want to know more then this article is a perfect place for you to give you all possible hints or knowledge about this topic. So, It's time to activate your brain cells, and let's learn!

What is Git?

Git is free, fast and the most popular distributed version control system for storing and tracking changes in the source codes of open-source projects.
- **So, what is the Version Control System? ***
Version Control System allows developers to work on the same project by tracking and logging changes without any conflict with other iteration. When a developer change or modify a piece of the code, a version control system give other developers power to review and even restore the earlier version of the code.

Features of Git

  • Git is a protocol, not a product.
  • Git can be used for commercial and open-source projects.
  • Git is used to handle repositories remotely; it's not dependent on network access or a central server.
  • Git works deftly on a vast number of operating systems and IDEs (Integrated Development Environments).
  • Git is a popular Version Control System (VCS) or a Source Control Management (SCM) System. SCM/VCS is a collaboration platform for developers to work with ease irrespective of their fellow developers' current locations.

It's Code Time

Some basic commands for Git:

Go to Search Bar - Type git/git bash - Try the following commands in the git terminal window:

Basic Git Commands

  • git version: To check the current version of Git.
  • git init: To track the files.
  • git add: To add files to the staging area.
  • git rm: To remove files from the staging area.
  • git commit: To take a snapshot of changes in our files.
  • git status: To see both tracked and untracked changes by Git and the current branch.
  • git log: To see all the commits in Git and the current branch.
  • git pull: To fetch and download content from a remote repository and immediately update the local repository to match that content.
  • git push: To upload content from the local repository to the remote repository.
  • git clone: To make a copy of the existing repo in a new directory on our local machine.
  • git branch: To create a branch in our Git repository.
  • git checkout: To switch current branches in Git.
  • git merge: To merge other branches into the current branch.
  • git reset: To reset the staging area to match the most recent commit, but leave the working directory unchanged.

Who Uses Git

Popular organizations like Google and Microsoft use Git for significant performance and efficiency improvements in their development processes.

Cheatsheet

You can download the cheatsheet here.

What is GitHub

GitHub is a Git-based repository hosting platform with 50 million developers, 2.9 million organizations, and 100 million repositories as of August 2019. GitHub was founded by Tom Preston-Werner, Chris Wanstrath, and PJ Hyett and launched in 2008.

GitHub is a cloud-based hosting service that allows developers to manage Git repositories.

GitHub can be used for issue tracking, documentation, and third-party integrations. Public repositories on GitHub are used to share code and open-source software. For private projects, GitHub's free plan allows unlimited private repositories but only 3 collaborators per repository.

Features of Github

  • GitHub allows developers to distribute their slice of work in the form of plugins, modules, etc.
  • You can host both static and dynamic sites on GitHub.
  • GitHub is the DNA of open-source projects, providing features like feeds, followers, wikis, and more.
  • GitHub integrates with plenty of third-party services offering additional features such as bug tracking, feature requests, task management, and much more.
  • It is a distributed version control system, allowing you to access your code/project even if you don't have your workstation with you. Additionally, you can retrieve old versions of your code.

Cool Apps

You can use third-party apps and authorize them to access your commits.

Who using Github

Well-known companies like IBM, PayPal, Spotify, Bloomberg, Airbnb are using Github for their product management and development.

Cheatsheet

You can download the cheatsheet here.

What is GitLab

GitLab, founded by Dmitriy Zaporozhets and Valery Sizov in 2011, has more than 3,000 contributors as of January 2020. Written in Ruby, Go, and Vue.js, more than 100,000 organizations around the globe are using GitLab.

GitLab is a repository manager that provides featured services like custom workflows, DevOps score, value stream mapping, monitoring, and more.

GitLab offers some similar features to GitHub for issue tracking, task, and project management. However, GitLab provides a more comprehensive collaborative environment and additional functionalities compared to GitHub.

GitLab is available in two forms: SAAS (Software as a Service) with open registration, and as an individual solution known as GitLab Community Edition.

Features of GitLab

GitLab used for

  • Enterprises and Large-scale projects
  • Continuous Integration (CI/CD)
  • Source Code Management (SCM)
  • Out-of-the-box Pipelines (Auto DevOps)
  • Security (DevSecOps)
  • Agile Development
  • Value Stream Management

Who using GitLab

Many reputed companies like Drupal, Axway, Ticketmaster, Fanatics, and Worldline are using GitLab to increase deployment speed and eliminate complexity.

Cheatsheet

*You can download the cheatsheet here.*

You can advance your journey with GitHub learning lab

Comparison

GitHub and GitLab both are based in layman's terms where you can upload and share your project codes online. Additionally, you can work on large projects in team collaboration, which is extremely helpful for large companies.

*I hope this article helps you to understand the difference between Git, GitHub, and GitLab. Be safe in this pandemic and happy learning.*

References

*This article is not sponsored*

About Author

Tech enthusiast and passionate writer— Find me at Medium, https://medium.com/@aisujata