DEV Community

Kathirvel
Kathirvel

Posted on

Details on Git and Gitlab

What is Git?
_-->First of all GIT stands for "Global Information Tracker"
-->Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

_

Who is creator of the Git?

-->Git was created by "Linus Torvalds", the creator of the Linux kernel, in 2005. He developed it as a free and open-source distributed version control system .

Creator of GitLab?

-->GitLab was initially created as an open-source project in 2011 by Ukrainian developer "Dmytro Zaporozhets"

What is GitLab?

-->GitLab is a web-based platform that uses Git for repository management and expands into a full DevSecOps platform, providing an integrated environment for the entire software development lifecycle.

What is versioning in Git?
_-->Version control, also known as (source control), is the practice of tracking and managing changes to software code.

-->Version control systems are software tools that help software teams manage changes to source code over time._

Why we use Git and GitLab?
_ -->We use Git for version control (tracking changes and managing code history locally)

-->GitHub for collaboration and remote storage (a cloud platform to host Git repositories and work with others)_

What is exactly Distributed Version Control System?
_-->A distributed version control system (DVCS) brings a local copy of the complete repository to every team member’s computer, so they can commit, branch, and merge locally.

-->The server doesn’t have to store a physical file for each branch — it just needs the differences between each commit._

Types of Version Control System:
_ -->Local Version Control System
-->Distributed Version Control System

-->Centralized Version Control System_

Local Version Control Systems (Local VCS):---->

          _A Local Version Control System operates entirely on your personal machine without any connection to a remote repository. All changes and version history are stored in a local database on your computer._
Enter fullscreen mode Exit fullscreen mode

Example:
_Manual Versioning -->

    Saving multiple copies of a file with different names.
         project_v1.doc
         project_v2.doc
         project_final.doc_
Enter fullscreen mode Exit fullscreen mode

Centralized Version Control Systems:---->

_In a Centralized Version Control System, all the files and their version history are stored in a single central server. Developers connect to this server to access or modify files. _

Example:
SVN (Apache Subversion)
A software company uses SVN with a central server.
All developers:
-->Check out code from the server
-->Make changes
-->Commit changes back to the same server

For understanding:
_ In a school, the teacher keeps one notebook.
All students take the notebook, write their work, and return it to the same teacher.

     The teacher’s notebook is the central place, so this is a Centralized Version Control System._
Enter fullscreen mode Exit fullscreen mode

Distributed version control System:---->
_A Distributed Version Control System allows every user to have a full copy of the project and its history.
Distributed version control systems contain multiple repositories. Each user has his or her own repository and working copy. Just committing your changes will not give others access to your changes.
This is because a commit will reflect those changes in your local repository and you need to push them in order to make them visible to the central repository. _
*Example: *
_ --->Git

       Git is the most widely used distributed version control system.
       Every user has a complete copy of the project repository, including all files and version history.
       Developers can make changes, create new versions (commits), and organize branches on their own computer, without needing to connect to a central server._
Enter fullscreen mode Exit fullscreen mode

For understanding:
_-->A group of friends is writing a story.
Each friend has their own full copy of the story notebook.
Everyone writes and saves changes in their own notebook.
Later, they share and combine their changes with each other.

Because everyone has a complete copy, this is a Distributed Version Control System._

*Understanding Git Repo: *

    _ --->A Git repository (or repo) is a storage space where your project’s files and their complete history of changes are kept. 
     --->It allows you to track, manage, and collaborate on code over time._
Enter fullscreen mode Exit fullscreen mode

Top comments (0)