How To Install Git on CentOS 7
Version control has become an indispensable tool in modern software development. Version control systems allow you to keep track of your software at the source level. You can track changes, revert to previous stages, and branch off from the base code to create alternative versions of files and directories.
One of the most popular version control systems is
git. Many projects maintain their files in a Git repository, and sites like GitHub and Bitbucket have made sharing and contributing to code with Git easier than ever.
In this guide, we will demonstrate how to install Git on a CentOS 7 server. We will cover how to install the software in a couple of different ways, each with their own benefits, along with how to set up Git so that you can begin collaborating right away.
Before you begin with this guide, there are a few steps that need to be completed first.
You will need a CentOS 7 server installed and configured with a non-root user that has
sudo privileges. If you haven't done this yet, you can run through steps 1-4 in the CentOS 7 initial server setup guide to create this account.
Once you have your non-root user, you can use it to SSH into your CentOS server and continue with the installation of Git.
The two most common ways to install Git will be described in this section. Each option has their own advantages and disadvantages, and the choice you make will depend on your own needs. For example, users who want to maintain updates to the Git software will likely want to use
yum to install Git, while users who need features presented by a specific version of Git will want to build that version from source.
Option One — Install Git with Yum
The easiest way to install Git and have it ready to use is to use CentOS's default repositories. This is the fastest method, but the Git version that is installed this way may be older than the newest version available. If you need the latest release, consider compiling
git from source (the steps for this method can be found further down this tutorial).
yum, CentOS's native package manager, to search for and install the latest
git package available in CentOS's repositories:
sudo yum install git
If the command completes without error, you will have
git downloaded and installed. To double-check that it is working correctly, try running Git's built-in version check:
If that check produced a Git version number, then you can now move on to Setting up Git, found further down this article.
Option Two — Install Git from Source
If you want to download the latest release of Git available, or simply want more flexibility in the installation process, the best method for you is to compile the software from source. This takes longer, and will not be updated and maintained through the
yum package manager, but it will allow you to download a newer version than what is available through the CentOS repositories, and will give you some control over the options that you can include.
Before you begin, you'll need to install the software that
git depends on. These dependencies are all available in the default CentOS repositories, along with the tools that we need to build a binary from source:
sudo yum groupinstall "Development Tools" sudo yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel
After you have installed the necessary dependencies, you can go ahead and look up the version of Git that you want by visiting the project's releases page on GitHub.
The version at the top of the list is the most recent release. If it does not have
-rc (short for "Release Candidate") in the name, that means that it is a stable release and is safe for use. Click on the version you want to download to be taken to that version's release page. Then right-click on the Source code (tar.gz) button and copy the link to your clipboard.
Now we are going to use the
wget command in our CentOS server to download the source archive from the link that we copied, renaming it to
git.tar.gz in the process so that it is easier to work with.
Note: the URL that you copied may be different from mine, since the release that you download may be different.
wget https://github.com/git/git/archive/v2.1.2.tar.gz -O git.tar.gz
Once the download is complete, we can unpack the source archive using
tar. We'll need a few extra flags to make sure that the unpacking is done correctly:
z decompresses the archive (since all .gz files are compressed),
x extracts the individual files and folders from the archive, and
tar that we are declaring a filename to work with.
tar -zxf git.tar.gz
This will unpack the compressed source to a folder named after the version of Git that we downloaded (in this example, the version is 2.1.2, so the folder is named
git-2.1.2). We'll need to move to that folder to begin configuring our build. Instead of bothering with the full version name in the folder, we can use a wildcard (
*) to save us some trouble in moving to that folder.
Once we are in the source folder, we can begin the source build process. This starts with some pre-build checks for things like software dependencies and hardware configurations. We can check for everything that we need with the
configure script that is generated by
make configure. This script will also use a
--prefix to declare
/usr/local (the default program folder for Linux platforms) as the appropriate destination for the new binary, and will create a
Makefile to be used in the following step.
make configure ./configure --prefix=/usr/local
Makefiles are scriptable configuration files that are processed by the
make utility. Our Makefile will tell
make how to compile a program and link it to our CentOS installation so that we can execute the program properly. With a Makefile in place, we can now execute
make install (with
sudo privileges) to compile the source code into a working program and install it to our server:
sudo make install
Git should now be built and installed on your CentOS 7 server. To double-check that it is working correctly, try running Git's built-in version check:
If that check produced a Git version number, then you can now move on to Setting up Git below.
Set Up Git
Now that you have
git installed, you will need to submit some information about yourself so that commit messages will be generated with the correct information attached. To do this, use the
git config command to provide the name and email address that you would like to have embedded into your commits:
git config --global user.name "Your Name" git config --global user.email "firstname.lastname@example.org"
To confirm that these configurations were added successfully, we can see all of the configuration items that have been set by typing:
git config --list
user.name=Your Name email@example.com
This configuration will save you the trouble of seeing an error message and having to revise commits after you submit them.
You should now have
git installed and ready to use on your system. To learn more about how to use Git, check out these more in-depth articles: