1. Home
  2. Docs
  3. User Guide
  4. Apps & Addons
  5. Git Manager

Git Manager

Git Manager deploys websites straight from a Git repository (GitHub, GitLab, Bitbucket or your own Git server). Clone a repository into your account once, then update the site with Pull & Deploy — manually or automatically with a webhook every time you push.

Where to find it: Addons → Git Manager.

Note: Git Manager must be enabled by your hosting provider. If you see Git Manager Not available, ask them.

Clone a repository

  1. Click Add New (Clone Repository).
  2. Repository URL — the clone address of your repository:
    • public repositories: https://github.com/user/project.git
    • private repositories: the SSH address, for example git@github.com:user/project.git (see Deploy key below)
  3. Target Directory — the folder in your account to clone into, for example public_html/app. The folder should be empty.
  4. Branch — the branch to deploy, for example main.
  5. Name (optional) — a label for the repository.
  6. Click Clone.

Note: For security, some folders cannot be used as a target: .cwp, .trash, etc, mail, ssl and public_html/cgi-bin.

Managed repositories

The list shows each repository with its directory, branch, authentication type and the date it was added. Actions:

ActionWhat it does
Pull & DeployFetches the newest commits of the branch and updates the files in the target directory
View LogShows the output of the last clone or deploy
Deploy KeyShows the public SSH key of this repository (see below)
WebhookShows the webhook URL for automatic deployment
RemoveStops managing the repository

Private repositories (deploy key)

  1. Open Deploy Key for the repository and copy the public key.
  2. Add it to your repository as a read-only deploy key:
    • GitHub: repository → Settings → Deploy keys → Add deploy key.
    • GitLab: project → Settings → Repository → Deploy keys.
    • Bitbucket: repository → Repository settings → Access keys.
  3. Use the SSH repository URL when cloning.

Automatic deployment (webhook)

  1. Open Webhook and copy the URL.
  2. In your Git hosting add a webhook for push events with that URL:
    • GitHub: Settings → Webhooks → Add webhook (content type application/json).
    • GitLab: Settings → Webhooks.
  3. Push a commit — the site updates automatically.

Warning: Git deploys overwrite tracked files in the target directory. Do not edit those files on the server — commit changes to the repository instead. Keep secrets such as database passwords out of the repository (use a config file that is not tracked).

Common problems

ProblemSolution
Permission denied (publickey) when cloningThe deploy key is not added to the repository, or you used the HTTPS URL for a private repository.
Clone fails because the folder is not emptyChoose an empty or new target directory.
The webhook does nothingCheck the URL and that the webhook sends push events for the configured branch. Look at View Log.
Website shows old filesClick Pull & Deploy and clear any site cache.

Related

Was this article helpful to you? No Yes