Software version control systems like Git enable you to keep track of your software at the source level. With versioning tools, you can track changes, revert to previous stages, and branch to create alternate versions of files and directories.
As one of the most popular version control systems currently available, Git is a common choice among open source and other collaborative software projects. Many projects’ files are maintained in a Git repository, and sites like GitHub, GitLab, and Bitbucket help to facilitate software development projects sharing and collaboration.
In this tutorial, we’ll install and configure Git on a Debian 10 server. We will cover how to install the software in two different ways, each with their own benefits depending on your specific needs.
To complete this tutorial, you should have a non-root user with sudo
privileges and firewall enabled on a Debian 10 server. Learn how to set this up by following our Debian 10 initial server setup guide.
With your server and user set up, you are ready to begin. Jump to Installing Git with Default Packages (via the apt package manager) or Installing Git from Source to begin.
Debian’s default repositories provide you with a fast method to install Git. Note that the version you install via these repositories may not be the newest version currently available. If you need the latest release, consider moving to the next section of this tutorial to learn how to install and compile Git from source.
First, use the APT package management tools to update your local package index:
- sudo apt update
With the update complete, you can download and install Git:
- sudo apt install git
You can confirm that you have installed Git correctly by running the following command:
- git --version
Outputgit version 2.20.1
With Git successfully installed, you can now move on to the Setting Up Git section of this tutorial to complete your setup.
A more flexible method of installing Git is to compile the software from source. This takes longer and will not be maintained through your package manager, but it will allow you to download the latest release and give you control over certain options you include if you wish to customize them.
Before you begin, you need to install the software that Git depends on. This is all available in the default repositories, so start by updating your local package index:
- sudo apt update
Next, install the packages:
- sudo apt install make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
After you have installed the necessary dependencies, go ahead and get the version of Git you would like to install by visiting the Git project’s mirror on GitHub, available via the following URL:
https:/git/git
From here, be sure that you are on the master
branch. Click on the Tags link and select your desired Git version. Unless you have a reason for downloading a release candidate version (marked as rc), try to avoid these as they may be unstable.
Next, on the right side of the page, click on the Code button, then right-click on Download ZIP and copy the link address that ends in .zip
.
Back on your Debian 10 server, change into the tmp
directory to download temporary files:
- cd /tmp
From there, you can use the wget
command to install the copied zip file link. We’ll specify a new name for the file as git.zip
:
- wget https://github.com/git/git/archive/refs/tags/v2.35.1.zip -O git.zip
Next, unzip the file that you downloaded:
- unzip git.zip
Then change into the following directory:
- cd git-*
Now you can make the package with the following command:
- make prefix=/usr/local all
After, install the package by running the following:
- sudo make prefix=/usr/local install
To ensure that the install was successful, you can run git --version
and you should receive relevant output that specifies the current version installed for Git.
Now that you have Git installed, if you want to upgrade to a later version, you can clone the repository, and then build and install. To find the URL to use for the clone operation, navigate to the branch or tag that you want on the project’s GitHub page and then copy the clone URL on the right side:
At the time of writing, the relevant URL is the following:
https:/git/git.git
First change to your home directory:
- cd ~
Then use git clone
on the URL you recently copied:
- git clone https://github.com/git/git.git
This will create a new directory within your current directory where you can rebuild the package and reinstall the newer version, as you did previously. This will overwrite your older version with the new version. Here are the commands again for making and installing the package:
- cd git
- make prefix=/usr/local all
- sudo make prefix=/usr/local install
With this complete, you can be sure that your version of Git is up-to-date.
Now that you have Git installed, you should configure it so that the generated commit messages will contain your correct information.
This can be achieved by using the git config
command. Specifically, you need to provide your name and email address because Git embeds this information into each commit you do.
First, add your name:
- git config --global user.name "Sammy"
Then add your email address:
- git config --global user.email "sammy@domain.com"
You can view all of the configuration items that have been set by running list
:
- git config --list
Outputuser.name=Sammy
user.email=sammy@domain.com
...
The information you enter is stored in your Git configuration file, which you can optionally edit with a text editor. Here we’ll use nano
as an example to edit the Git configuration file:
- nano ~/.gitconfig
[user]
name = Sammy
email = sammy@domain.com
There are many other options that you can set, but these are the two essential ones needed. If you skip this step, you’ll likely receive warnings when you commit to Git. This creates more work for you because you will then have to revise the commits you have done with the corrected information.
You should now have Git installed and ready to use on your system.
To learn more about how to use Git, check out these articles and series:
Additionally, you can learn more by reviewing our series on An Introduction to Open Source for more information about using Git as part of open-source projects.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!