DEV Community

Cover image for Git, Gitlab and Github.
Vigneshwaran V
Vigneshwaran V

Posted on

Git, Gitlab and Github.

What is Git

  • Git is a free and open-source distributed version control system designed to track changes in computer files, primarily used for coordinating work among programmers developing source code.

  • It is primarily used for software development, but it can be used to track changes in any set of files.

Features of Git

  • Version Control: It acts like a "time machine" for your project, recording snapshots of your files so you can revert to any previous state if something goes wrong.

  • Repositories: A Git repository (or repo) is like a project's central hub where everything related to your work is stored and managed. There are two main types:

  1. Local Repository: This is a copy of the repository which is stored in your computer. You can work on your project and make changes here.

  2. Remote Repository: This is stored on a server, like GitHub, where you and others can share and work on a project.

  • Commits: Every time you make changes and save them in Git, these are called commits. The repository keeps track of all the commits you have made.

  • Branches: A repository allows you to create Branches and work on new features and fixes. For example, you can have a "main" branch for stable code and a "feature" branch for new features you're developing.

  • Merging: Once you are done with the branches you have made, you can merge those branches into main branch. This adds the changes you have made in the rest of the project.

What is Gitlab

  • GitLab is an end-to-end software development and DevSecOps platform. It allows teams to manage the entire software lifecycle in a single application—handling everything from planning and source code management to automated testing, security checks, and deployment.

  • Provides Git-based repository hosting similar to GitHub.

  • Includes built-in CI/CD pipelines for automated testing and deployment.

  • Supports code review, issue tracking, and project management in one place.

What is Github

  • GitHub is a cloud-based platform where developers store, share, and collaborate on software projects. It uses Git (a version control tool) to track code changes over time, allowing multiple people to work on the exact same files simultaneously without overwriting each other's work.

  • GitHub allows developers to collaborate on projects, track changes, and maintain a history of all code versions. It is particularly popular in the open-source community and is widely used by individual developers, teams, and large organizations to develop software.

Difference between Gitlab and Github

  • The primary difference between GitHub and GitLab is their operational philosophy: GitHub focuses on community and social coding, while GitLab is an all-in-one DevOps platform.

Top comments (0)