Tutorials > How to configure Git Server on CentOS 8

How to configure Git Server on CentOS 8

Published on: 12 July 2021

CentOS Development GIT

Introduction

Git is a version control system that supports teamwork between programmers thanks to what in computer science is namedversioning. This practice allows you to trace the changes that are performed on a specific file, such as a source code, while defining a new version for each change. If you are new to Git, reading our getting started guide on installation and first steps with Git is recommended.

Tracking the work of programmers and enabling an incremental approach to complex software development, Git has recently come in very useful, especially in software development processes. In this tutorial you will see how to install and configure Git on your Linux server with CentOS 8 to create your own private repository, without hosting restrictions, such as those of GitHub.

Installing and Configuring Server-side Git

Installing GIT-server

Two alternative ways of installing GIT-server are shown below.

Installation via Yum

To install the Git service via Yum, simply use this pair of commands:

$ yum update -y
$ yum install git -y

Installation from source code

Git can also be installed from the official site, where the latest  release is also available.

Although the installation will take longer and will not be automatically updated by the yum package manager, this method has an advantage: greater control over the updates of your installation, as it will be linked to the CentOS repositories.

The first thing to do is to install the dependencies:

$ yum groupinstall “Development Tools”
$ yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel

Once the installation has been completed, open the release page link and copy the download link.By choosing the file called  tar.gz, for example, the link could be simply copied by right clicking on the file and selecting "copy link".

Now it's time to download the selected file to the server, using the command:

$ wget https://github.com/git/git/archive/refs/tags/v2.32.0-rc0.tar.gz -O git.tar.gz

Once the download is complete, extract the .tar file :

$ tar -zxf git.tar.gz

Then, move to the directory of the file:

$ cd git-*

Now, it's time to check the configuration script to create through the make utility.

$ make configure
$./configure –prefix=/usr/local

It is also important to define the "prefix" of the configuration file, as it will be placed in the default folder for Linux programs.

The make utility  allows you to apply configurations by compiling scripts linked to your CentOS installation.

Install make via:

$ make install

To check that everything went well, check the version of Git you just installed using the command:

$ git -version

Configuring Git Repository

The steps to configure the server side of Git are as follows:

  • Add a user to manage repositories, using the command:

    $ useradd git
  • Assign a password to the newly created user:

    $ passwd git
  • Log ing in as a git user:

    $ su -git
  • Create a new empty repository:

    $ git init –bare ~/myrepo.git
  • Enable post-update by uploading a sample file:

    $ cd hooks/
    $ cp post-update.sample post-update

Installing and Configuring Client-side Git

GIT-client installation

On the client side, simply install Git via the yum manager :

$ yum install git -y

GIT-client configuration

One of the first features that we suggest configuring, is to add personal information to allow commit messages to have such data attached.

$ git config –global user.name “myusername”
$ git config –global user.email “[email protected]

Now, create a directory to save your projects:

$ mkdir ~/dev
$ cd ~/dev

Now, try to clone the sample repository, created in the server side configuration step:

$ git clone [email protected]:~/myrepo.git myrepo.git

Navigating to the repository, your first file can be now inserted:

$ cd myrepo.git
$ echo "test">samplefile.txt

Add the file to the repository:

$ git add.

Enter the changes in the commit :

$ git commit -am “My First Commit”

Submit commit changes to the remote repository on the server:

$ git push origin master

After entering the password, an output will be received to inform on the status of the process. When done, check that everything was correctly performed by opening the log file from the server:

$ git log

Conclusion

If you have correctly followed the procedures described so far and the Client-side test worked, your Git server will have been properly installed and configured and your first repository created. To learn more about how Git works, read our guide on How to manage versions with Git.