~4 min read • Updated Feb 21, 2026
1. Overview
We recommend using cPanel’s Git Version Control interface (cPanel » Home » Files » Git Version Control) to perform Git tasks. While many Git operations require command-line access, this interface automates several steps and allows you to view repository history through Gitweb.
With the appropriate permissions, cPanel accounts can host Git repositories. Git tracks changes across multiple files and allows multiple users to collaborate. This guide explains how to create or clone a repository, update its configuration, and clone it locally for development.
For common Git commands, refer to the Common Git Commands documentation.
2. Requirements
To complete this tutorial, you must meet the following requirements:
- An active cPanel account with available disk space.
- Shell Access enabled for your cPanel account.
- Your public SSH key registered and authorized in
cPanel » Home » Security » SSH Access.
Important: To clone private repositories, follow the steps in the Set Up Access to Private Repositories documentation.
3. Host a Git Repository on Your cPanel Account
3.1 Create or Clone a Repository
You may create a Git repository in any existing directory or create a new directory. If your project already has a Git repository, you can clone it into your cPanel account.
Repository Requirements for cPanel Interface
To ensure the repository appears in the Git Version Control interface, the repository name and directory path must not contain whitespace or the following characters:
\ * | " ' < > & @ ` $ { } [ ] ( ) ; ? : = % #
The repository cannot be located in the following cPanel-controlled directories:
.cpanel, .trash, etc, mail, ssl, tmp, logs, .cphorde, spamassassin, .htpasswds, var, cgi-bin, .ssh, perl5, access-logs
If you create a repository in a restricted path using the command line, it will not appear in the Git Version Control interface.
4. Create a New Repository
Steps:
- Log in to your cPanel account via SSH.
- Navigate to the directory where the repository will be stored:
cd ~/Project/example
If the directory does not exist:
mkdir -p ~/Project/example
cd ~/Project/example
Initialize the directory as a Git repository:
git init
5. Clone an Existing Repository
Important: Additional steps are required for private repositories.
Steps:
- Log in to your cPanel account via SSH.
- Navigate to the directory where the repository will be stored:
cd ~/Project
If the directory does not exist:
mkdir -p ~/Project
cd ~/Project
Clone the repository:
git clone https://domain.com/Account/example.git example.git
In this example, https://domain.com/Account/example.git is the repository’s clone URL.
GitHub example:
https://github.com/Account/example.git
Large repositories may take time to clone. Until cloning completes, HEAD information will not appear in the Git Version Control interface.
The cPanel interface does not allow username/password pairs in remote URLs.
6. Update Git Configuration (Optional)
This step ensures the repository updates automatically when you push changes from your local machine.
Run the following command inside the repository directory:
git config receive.denyCurrentBranch updateInstead
7. Clone the Repository Locally
Important: Clone URLs must follow specific restrictions. Refer to the Git Version Control documentation.
You can use SSH keys (configured in cPanel » Home » Security » SSH Access) to access the hosted repository. SSH keys grant access to the entire cPanel account, so use caution.
To clone the repository locally:
git clone ssh://username@hostname/home/username/Project/example.git
username: Your cPanel username hostname: The server hostname
8. Push Local Changes to the Hosted Repository
After making changes locally, push them to the cPanel-hosted repository:
git push origin master -u
This command uploads your revisions to the repository stored on your cPanel account.
Conclusion
By following these steps, you can create, clone, configure, and manage Git repositories directly on your cPanel account. This setup is ideal for developers who want a simple and efficient way to collaborate and deploy code.
Written & researched by Dr. Shahin Siami