Using The Git Version Interface in cPanel

cPanel Tutorials and How To Guides

Tips and tricks on how to better optimize your cPanel

Host Git repositories on your website

Updated: January 3, 2025
By: RSH Web Editorial Staff

Contact Us


Menu

cPanel - Files - Git Version Control

You can use Git to host and maintain any set of files (for example, a website’s files and assets, a software development project, or simple text files).

For more information, read cPanel's How to Set Up Git documentation and Git’s Documentation.

Disk Usage

Note: The system adds a post-receive hook to all cPanel-managed repositories. For more information, read Git’s githooks documentation.

Email

Git on the command line

Important: Without shell access, you can only create, clone, delete, and view repositories.

If your cPanel account includes shell access, you can also use Git from the command line. You must use the command line to perform the following tasks:

SSH configuration in order to clone private repositories. For more information, read our Guide to Git - Set Up Access to Private Repositories documentation.

The use of multiple remote repositories. We recommend this use for advanced Git users only.

You can use cPanel’s Terminal interface
cPanel » Home » Advanced » Terminal

Repositories

Note: When you clone a repository, the system may require a large amount of time to complete. The list of repositories will disable the options for the repository and will only display the repository name, repository path, and a progress message.
If you add or remove Git repositories via the command line, you may see an incorrect list of repositories in this interface. Currently, only repositories that you created in this interface will appear in the list.

The Repositories table lists the following information for all of your account’s cPanel - managed Git repositories:

Repository - The repository’s display name.

Repository Path - The repository’s directory.

You can also perform the following actions:

  • • Manage - Click to update the repository’s cPanel-managed settings or pull or deploy changes.
  • • History - Click to open the Gitweb interface in a new browser tab. Gitweb allows you to browse the repository and view its history and contents.
  • • Remove - Click to remove cPanel’s management of the repository. A confirmation message will appear. Click Remove again to delete the repository.

Warning: When you remove cPanel’s management of a repository, the repository will no longer appear in the interface, and you cannot use cPanel to deploy it. However, the system will not delete the repository directory or its data. To fully delete repository data, use cPanel’s File Manager interface or your preferred method to manually delete the files.

When you clone a repository, the system may require a large amount of time to complete. The list of repositories will disable the options for the repository and will only display the repository name, repository path, and a message about the clone’s progress.

Create a repository

To create a new repository, perform the following steps:

1) Click Create in the top-right corner of the interface. A new interface will appear.

2) Select whether to clone an existing repository, create a new one, or add an existing one to the list of cPanel-managed repositories:

To clone an existing repository, ensure that the Clone a Repository toggle is enabled. Then, enter the clone URL for the repository that you wish to clone in the Clone URL text box.

Important: To clone private repositories, you must perform additional steps. For more information, read our Guide to Git - Set Up Access to Private Repositories documentation.

To create a new repository or add an existing repository to the list of cPanel-managed repositories, set the Clone a Repository toggle to disable.

Important: This URL cannot contain a username-and-password pair.
This URL must include the http://, https://, ssh://, or git:// protocols or use the user@example.com/path format, where user represents the username, example.com represents the domain, and path represents the repository path.
You cannot enter a local repository path.
The system performs additional checks for clone URLs that use the ssh:// protocol. For more information, read the SSH host key verification section below.

In the Repository Path text box, enter the path to the directory that will contain the repository.

Note: If the specified directory does not currently exist, the system will create it. If the specified directory already contains a repository, the system will automatically add it to the list of cPanel-managed repositories.
This feature enforces several restrictions on repository paths. For more information, read the Repository path restrictions section below.
Unless you’re adding an existing repository to the list, the directory must be empty. Subdomain directories contain a cgi-bin directory and may also contain a .well-known directory. You must move these before you can create a repository.

In the Repository Name text box, enter the desired display name for the repository.

To immediately create another repository, select the Create Another checkbox.

Click Create, or click Return to Repository List to return to the list of repositories.

SSH host key verification

If you entered an SSH clone URL, when you click Create, the system will automatically check for the remote server’s public SSH host key. The system stores this key in the /home/user/.ssh/known_hosts file, where user represents your username.

If the remote host is not registered with the system, click Save and Continue to add it to the file (register it). You can click Show Host Identification Information to view the host’s algorithm and SHA-256 and MD5 fingerprints.

  • If the remote host is already registered, the system will create the repository.
  • If the remote host’s public key has changed, the system will display a warning.
  • • For third-party remote hosts, check for announcements about public key updates. Most companies that host repositories make announcements about these changes.
  • • For remote hosts that you control, consider whether recent events on your system have caused changes to the public key, or contact your system administrator.

The system also performs this check and will request verification of altered host keys when you change repository information or update the repository.

Warning: If you cannot verify the validity of a change, exercise caution, especially if your repository includes sensitive content. An altered SSH key may indicate a Man-in-the-Middle attack.

Repository path restrictions

This feature enforces several restrictions for repository paths.

The .git directory

Warning: Do not modify or delete a repository’s .git directory or its contents. Modifications to this data can irreparably break the repository.

The system globally denies public access to repositories’ .git directories.

Character restrictions

You cannot create, delete, or view repositories with paths that include whitespace or any of the following characters

\ * | " ' < - & @ ` $ { } [ ] ( ) ; ? : = % #`

cPanel-controlled directories

You cannot create, delete, or view repositories in the following Directories:

/.cpanel /.trash /etc /mail /ssl /tmp /logs /.cphorde /spamassassin /.htpasswds /var /cgi-bin /.ssh /perl5 /access-logs

Manage repositories

Click Manage to modify or deploy repositories. Showing Basic repository information.

  • • Repository Path - The repository’s directory. Click to open the directory for the repository in cPanel’s File Manager interface in a new browser tab.
  • • Repository Name - The repository’s display name. To modify this name, enter the new name and click Update.
  • • Checked-Out Branch - The currently checked-out local branch. To check out a different branch, select the desired branch and click Update.
    If you select a different branch, the system will automatically pull changes from the remote repository when it checks out that branch.
    If the repository is a bare repository, the system will not display this information.
  • • Currently Checked-Out Branch - The currently checked-out local branch. Click to open the Gitweb interface in a new browser tab.
  • • HEAD Commit - This section of the interface displays information about the active branch’s HEAD commit (the most recent commit to the branch). If the repository does not include any commits for the current branch or is a bare repository, the system will not display any HEAD Commit information. Click History to open the Gitweb interface in a new browser tab.
    Commit - The SHA-1 value for the HEAD commit.
    Author - The HEAD commit’s author.
    Date - The date of the HEAD commit.
    The commit message for the HEAD commit.
    Remote URL - The URL of the repository’s remote repository.
    Clone URL - The URL to use to clone the repository to another location (for example, your local computer, another cPanel account, or a GitHub account). Click Copy to copy this URL to your clipboard.

YouTube Video - cPanel Tutorials - Gitweb

Related cPanel Tutorials and How To Guides
A huge volume of features and customization that is available with cPanel

Tweet  Share  Pin  Email

We welcome your comments, questions, corrections and additional information relating to this article. Please be aware that off-topic comments will be deleted.
If you need specific help with your account, feel free to contact us anytime
Thank you

Crafted with care by our writing pros

RSH Web Services hosting plans are carefully crafted to meet the needs and demands of all types of websites, from personal to business websites. we are committed to providing you with the best hosting services available in the industry