Създаване на Git хранилище в cPanel

При създаване на Git хранилище в cPanel има два варианта – да създадете ново празно хранилище или да клонирате вече съществуващо Git хранилище, намиращо се на отдалечен сървър (GitHub, Bitbucket, GitLab).

За да създадете Git хранилище в хостинг акаунта, влезте в cPanel » Git Version Control и кликнете на бутона Добавяне.

Бележка: Git хранилище (repository) може да се създаде и през SSH, но то няма да се показва в интерфейса в cPanel » Git Version Control.

Създаване на ново празно хранилище

За да създадете ново празно хранилище, деактивирайте клонирането с плъзгача.

Създаване на ново празно хранилище в хостинг акаунта.
Създаване на ново празно хранилище в хостинг акаунта.

Път до repository

Това е директорията, в която ще се съдържа хранилището. Препоръчително е тази директория да се намира в home директорията на акаунта, за да не е свободно достъпна през уеб. След като имате завършена версия на проекта, може да прилагате обновяване на реалния сайт чрез опцията за Deploy в cPanel. Ако директорията не съществува, системата ще я създаде.

Бележка: Не извършвайте директни промени през cPanel в директорията на хранилището (и .git директорията), тъй като това може да повреди Git хранилището.

Име на repository

Това име се използва за списъка с хранилища в cPanel и за GitWeb.

Създайте хранилището с бутон Добавяне.

Новосъздаденото празно хранилище можете да свържете към вече съществуващ проект, разположен на Вашето локално устройство. За целта от Вашето устройство изпълнете командата:

git remote add origin ssh://cpuser@mysupersite.com:1022/home/cpauser/repo

ssh://cpuser@mysupersite.com:1022/home/cpauser/repo – заменете с SSH адреса, посочен за хранилището след създаването му;

Можете и да клонирате хранилището локално на Вашето устройство, с командата:

git clone ssh://cpuser@mysupersite.com:1022/home/cpauser/repo

ssh://cpuser@mysupersite.com:1022/home/cpauser/repo – заменете с SSH адреса, посочен за хранилището след създаването му;

Бележка: За да използвате адреса с Вашия домейн (mysupersite.com), домейнът трябва да е насочен към хостинг акаунта с А запис. Ако домейнът не е насочен към хостинг акаунта, може да се замести с името на сървъра (cpuser@server.superhosting.bg).

Клониране на съществуващо хранилище

Ако искате да клонирате отдалечено хранилище, например намиращо се в GitHub, оставете опцията на плъзгача в статус Клониране на repository.

Клониране на съществуващо публично хранилище, намиращо се в GitHub.
Клониране на съществуващо публично хранилище, намиращо се в GitHub.

Clone URL

Въведете clone URL за отдалеченото repository. Поддържаните URL адреси за клониране са със следните протоколи http://, https://, ssh://, git:// или с потребителско име и домейн.

За публични (public) проекти в GitHub/Bitbucket/GitLab можете да използвате HTTPS адреса за клониране. Например:

https://github.com/githubuser/project.git
https://bbuser@bitbucket.org/bbuser/project.git
https://gitlab.com/gitlabuser/project.git

Бележка: Когато проектът е по-голям, клонирането може да отнеме известно време. Докато не завърши процеса по клониране, няма да са достъпни никакви действия и информация за хранилището.

Частните (private) проекти може да се клонират през интерфейса в cPanel » Git Version Control, но ще е нужно да използвате SSH адреса за клониране, например git@github.com:githubuser/myprivaterepo.git.

Клониране на проект (public или private) със SSH адреса за клониране (git@)

SSH адресите за клониране на проекти от GitHub, Bitbucket и GitLab изглеждат по този начин:

git@github.com:githubuser/project.git
git@bitbucket.org:bbuser/project.git
git@gitlab.com:gitlabuser/project.git

Клонирането на проекти (публични или частни) от GitHub, Bitbucket и GitLab може да се извърши през Git Version Control в cPanel със SSH адреса за клониране, но ще са нужни следните стъпки:

1 Генериране на двойка SSH ключове

Създайте двойка SSH ключове в хостинг акаунта (без парола/passphrase за частния ключ) през конзолата (през SSH достъп или Terminal в cPanel).

Вижте как да генерирате ключовете в статията: Настройки за използване на Git в cPanel през SSH | Help

Бележка: При създаване на SSH ключове през cPanel » SSH достъп » Управление на SSH ключове НЕ е възможно да се пропусне задаването на парола за частния ключ, поради това двойката SSH ключове трябва да се генерира през SSH достъп (или през cPanel » Terminal).

2 Активирайте SSH ключовете

Активирате създадените SSH ключове през cPanel » SSH достъп » Управление на SSH ключове – Управление – Authorize.

3 Поставете публичния ключ в отдалеченото хранилище

Поставете публичния ключ (съдържанието на “***.pub” файла) в акаунта Ви в GitHub/Bitbucket/GitLab.

4 Създайте файл config в директория /home/cpanel/.ssh

Създайте обикновен текстов файл с име config (с права 0600) в директория /home/cpuser/.ssh и поставете в него настройките на връзката с отдалеченото хранилище.

Например за GitHub трябва да поставите:

Host github.com
User my@mail.com
Hostname ssh.github.com
Port 443

Ако за частния SSH ключ сте задали име, различно от id_rsa, то ще трябва да добавите и следните редове:

RSAAuthentication yes
IdentityFile ~/.ssh/githubkey

githubkey – заменете с името на файла, в който се намира частния ключ;

Вижте какви са възможните настройки за този файл в статията: Настройки за използване на Git в cPanel през SSH | Help

5 Клонирайте проекта през Git Version Control в cPanel

След като сте изпълнили предишните стъпки, може да клонирате хранилището през Git Version Control в cPanel, като използвате SSH адреса за клониране например git@github.com:githubuser/myprivaterepo.git.

Важно: Ако сте генерирали SSH ключовете с passphrase (парола), няма да можете да клонирате отдалеченото хранилище през интерфейса в cPanel » Git Version Control (защото при опит за клониране няма възможност за въвеждане на паролата). Когато за SSH ключовете е зададена парола, клониране на хранилището може да се извърши през SSH (през конзолата или Terminal в cPanel ще има възможност за въвеждане на passphrase).

Път до repository

Това е директорията, в която ще бъде клонирано хранилището. Препоръчително е тази директория да се намира в home директорията на акаунта, за да не е свободно достъпна през уеб. Също така, директорията не е препоръчително да е на реалния сайт, защото това означава да извършвате и прилагате промени директно на реалния сайт. Вместо това, след като имате завършена версия на проекта, може да прилагате обновяване на реалния сайт чрез опцията за Deploy в cPanel.

Пътят не може да съдържа следните референции за директории “./” и “../” , празен интервал, или символи като: \ * | “ ‘ < > & @ ` $ { } [ ] ( ) ; ? : = % #.

Име на repository

Въведете име, с което ще разпознавате хранилището в списъка в интерфейса в cPanel. Това име се използва само за този интерфейс и за GitWeb.

След като проектът е добавен в хостинг акаунта, ще можете да издърпвате (pull) обновленията от отдалеченото хранилище и да ги прилагате (deploy) в реалния сайт.

Вижте още:

🔗 Git Version Control в cPanel | Help

🔗 Настройки за използване на Git в cPanel през SSH | Help

Обновена: 18.03.2022
Беше ли Ви полезна тази статия?

Вижте още