How to Install Git 1.8.x || Upgrade Git to 1.8.x

You don’t get surprised when you see that your CentOS, Ubuntu or another server already has Git installed. However, the default Git version that comes with the OS bundle is usually v1.7.1 and this might be a problem when you want to install applications which require higher Git versions(For example, Gitlab).

This article contains the steps that I followed while installing(or upgrading to) Git to a CentOS 6.4 server.

First of all, make sure if you have git installed:

which git

This has to return a value like “/usr/local/bin/git”. If it doesn’t, than you don’t have Git installed on your machine.

If it does return a path, than you better know which version, by using this command:

git --version

The result should be like: “git version 1.7.1”. If it returns the number equals or higher than the version you want to install, well, you got lucky. The day is over for you.

OK, let’s begin with a new installation.

1. Go to /tmp folder:

cd /tmp

(Those who have older version of Git installed may go to step 3.)

2. Install default version of Git and maker for installing git:

yum -y install git perl-ExtUtils-MakeMaker

3. Clone git repo to your /tmp folder:

git clone git://

4. Get inside of the repo and checkout your favorite version. I chose v1.8.3.4, you may choose something else.

cd /tmp/git/
git checkout v1.8.3.4

5. Continue preparing installation:

./configure --prefix=/usr/local

IMPORTANT: You might have got an error like “-bash: ./configure: Permission denied”. If you haven’t, continue with step 7. If you have, no need to worry, we’ll fix it by using these commands:
6. Fix “Permission denied” error if exist

mount -o remount,exec,suid /tmp
mount -o remount,exec,suid /var/tmp

7. Do it

make && make install

8. Cleanup

rm -rf /tmp/git/

9. Verify your installation:

which git

(Should return Git path like “/usr/local/bin/git”)

10. Verify your version

git --version

(Should return your version, like: “git version”)

You may find most of the steps above in various websites, however it really took me a while to find out how to fix the permission error which I declared in step 6.

Fair enough, let’s go make some fork!