Javatpoint Logo
Javatpoint Logo

Install Git on Ubuntu

Git is an open-source distributed version control system that is available for everyone at zero cost. It is designed to handle minor to major projects with speed and efficiency. It is developed to co-ordinate the work among programmers. The version control allows you to track and work together with your team members at the same workspace.

Git is the most common source code management (SCM) and covers more users than earlier VCS systems like SVN. Let's understand how to install Git on your Ubuntu server.

Introduction to Git

Git focuses on data integrity, speed, and non-linear, distributed workflow support. Originally, git was started in 2005 by Linus Torvalds for the Linux kernel development, with other developers of the kernel contributing to its starting development. Junio Hamano has been the main maintainer since 2005.

Unlike almost every client-server system, and with almost every distributed version control system, all Git directories on all computers are a completely developed repository with full version-tracking and history abilities, free from a central server or network access. Git is an open-source and free software distributed upon the GPL-2.0-only license.

Brief History of Git

In April 2005, Git development started after several kernel developers gave up using BitKeeper, an SCM (source control management) system they had been utilizing to manage the project.

Linus Torvalds wished for a distributed system that could be used like BitKeeper, but the available open-source systems don't meet his requirements. Torvalds specified an instance of a source-control management system requiring thirty seconds to use a patch and update every related metadata and esteemed that it wouldn't scale to the requirements of the development of the Linux kernel, in which synchronizing with associate maintainers could need 250 such operations at once. He cited that patching shouldn't take 3+ seconds with his design principle and included three more purposes:

  • Add robust safeguards opposed to corruption, either malicious or accidental.
  • Support a BitKeeper-like, distributed workflow.
  • Take CVS (Concurrent Versions System) as an instance of what not to do; make the same opposite decision if not sure.

Design of Git

The design of Git was inspired by Monotone and BitKeeper. Originally Git was developed as a low-level engine for the version control system, where others can specify front ends like StGIT or Cogito.


The design of Git is the synthesis of the experience of Torvalds with Linux in managing a bigger distributed development project with his file-system performance knowledge gained from a similar project and the requirement to generate an active system. These conditions led to the below implementation options:

    • Non-linear development support: Git supports fast merging and branching and contains special tools for navigating and visualizing a non-linear development history. A basic thought is that modification will be combined more frequently than it's written in Git because it's passed across several reviewers. In Git, the branches are lightweight, and a branch is just a reference to a single commit. The structure of a full branch can be made using its parental commits.
    • Distributed development: Like Monotone, Bazaar, Mercurial, BitKeeper, and Darcs, Git provides all developers a copy of the complete development history, and modifications are copied from such repositories to others.
    • Compatibility with older protocols and systems: Repositories can be released by a Git protocol, FTP, HTTP, or HTTPS on either a Secure Shell or plain socket.
    • Efficient handling of bigger projects: Torvalds has defined Git as being very scalable and fast, and performance tests implemented by Mozilla represented that it's an order of magnitude rapid differentiating bigger repositories than GNU Bazaar and Mercurial.
    • History cryptographic authentication: The history of Git is stored in a form that the ID of a specific version relies on the full development history causing that commit.
    • Toolkit-based structure: Git was developed as a collection of programs specified in C and many shell scripts that offer wrappers across these programs. However, most of these scripts have been since re-specified in C for portability and speed.
    • Pluggable strategies: Git contains a well-defined structure of a lacking merge, and it contains two or more algorithms to complete it as an element of its toolkit structure.

Data structures

The primitives of Git are not a source-code management system inherently. Git has integrated the full set of aspects expected of a classic SCM, with aspects mostly being made as required, then refined and increased over time from this starting design approach.

Git includes two different data structures. The first data structure is a mutable index (also known as cache or stage) that caches details about the active directory and the upcoming revision to be devoted. The second data structure is an append-only immutable object database.

The immutable database includes five object types:

  • Blob
  • Tree
  • Commit
  • Tag
  • Packfile

Git additionally stores labels known as refs (or references) to represent the location of several commits. They are:

  • Heads (branches)
  • HEAD
  • Tags

Git Installation

I have done this installation on Ubuntu 16.04 LTS. But the given commands should also work with the other versions.

Below are the steps to install the Git on Ubuntu server:

Step1: Start the General OS and Package update

First of all, we should start the general OS and package updates. To do so, run the below command:

Now we have started the general OS and package updates. After this, we will run the general updates on the server so that we can get started with installing Git. To do so, run the following commands:

Step2: Install Git

To install Git, run the below command:

The above command will install the Git on your system, but it may ask you to confirm the download and installation.

Step3: Confirm Git the installation

To confirm the installation, press 'y' key on the editor. Now, Git is installed and ready to use.

When the central installation done, first check to ensure the executable file is set up and accessible. The best way to do this is the git version command. It will be run as:


git version 2.24.0

Step4: Configure the Git for the First use

Now you can start using Git on your system. You can explore many features of the version control system. To go with Git, you have to configure the initial user access process. It can be done with the git config command.

Suppose I want to register a user whose user name is "javaTpoint" and email address is "[email protected]", then it will be done as follows:

To register a username, run the below command:

To register an email address for the given author, run the below command:

Now, you have successfully registered a user for the version control system.

It's important to understand that the git config tool works on a user according to the user. For example, if we have a user "john" registered on Git. Then there can be another user "Mike" on the same machine registered on Git. To do this, Mike must run the same command from his user account. The commits made by both the users will be done under their details in Git.

To go in-depth with the git config command, visit Here.

Next TopicInstall Git on Mac

Youtube For Videos Join Our Youtube Channel: Join Now


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Trending Technologies

B.Tech / MCA