1.  [HostGrade.pl](/)
2.  ›
3.  [Baza wiedzy](/baza-wiedzy/)
4.  ›
5.  Git deploy na hostingu

# Git deploy na hostingu — automatyczny deployment przez git push

Opublikowano: 8 kwietnia 2026 · Kategoria: [Hosting](/baza-wiedzy/)

⚡ W skrócie · 9 min czytania

-   Jak skonfigurować automatyczny deploy aplikacji na hosting przez git push? Bare repo, post-receive hook, GitHub Actions.
-   Metody dla polskich hostingów współdzielonych i VPS.
-   Metody git deploy — porównanie.
-   Metoda 1: Bare repo + post-receive hook.
-   Metoda 2: GitHub Actions + rsync.

Git deploy to automatyczne wdrożenie aplikacji na serwer uruchamiane przez komendę `git push` — bez ręcznego kopiowania plików przez FTP, z pełną historią zmian i możliwością cofnięcia do poprzedniej wersji w kilka sekund.

**Krótka odpowiedź:** Na hostingu z SSH możesz deployować przez **git push** używając bare repo + post-receive hook. Bez SSH: użyj **GitHub Actions + rsync** — działa z każdym hostingiem. Obie metody eliminują ręczne wgrywanie plików przez FTP.

## Metody git deploy — porównanie

Metoda

Wymagania

Trudność

Najlepiej dla

Bare repo + post-receive hook

SSH + Git na serwerze

Średnia

VPS, zaawansowani

GitHub Actions + rsync

SSH (klucze), GitHub

Niska

Każdy hosting z SSH

GitHub Actions + FTP

FTP (login/hasło)

Niska

Hosting bez SSH

cPanel Git Version Control

cPanel hosting

Bardzo niska

[SmartHost](/out/smarthost/#reklama "SmartHost"), hostingi cPanel

DeployHQ / Buddy.works

Zewnętrzna usługa

Niska

Zespoły, wiele serwerów

## Metoda 1: Bare repo + post-receive hook

\# 1. Na SERWERZE (przez SSH) — utwórz bare repo

mkdir -p ~/repos/moja-strona.git

cd ~/repos/moja-strona.git && git init --bare

\# 2. Utwórz post-receive hook

nano hooks/post-receive

\# --- zawartość hooka: ---

#!/bin/bash

GIT\_WORK\_TREE=/home/uzytkownik/public\_html

GIT\_DIR=/home/uzytkownik/repos/moja-strona.git

git checkout -f main

\# opcjonalnie: cd $GIT\_WORK\_TREE && composer install --no-dev

\# 3. Nadaj uprawnienia wykonania

chmod +x hooks/post-receive

\# 4. LOKALNIE — dodaj remote i pushuj

git remote add hosting ssh://uzytkownik@serwer.pl/~/repos/moja-strona.git

git push hosting main

## Metoda 2: GitHub Actions + rsync

Najprostsze rozwiązanie — nie wymaga konfiguracji na serwerze, działa przez klucze SSH:

\# .github/workflows/deploy.yml

name: Deploy

on:

  push:

    branches: \[main\]

jobs:

  deploy:

    runs-on: ubuntu-latest

    steps:

      - uses: actions/checkout@v4

      - name: Deploy via rsync

        uses: easingthemes/ssh-deploy@main

        with:

\# Dodaj w GitHub: Settings → Secrets → Actions

          SSH\_PRIVATE\_KEY: ${{ secrets.SSH\_PRIVATE\_KEY }}

          REMOTE\_HOST: ${{ secrets.SSH\_HOST }}

          REMOTE\_USER: ${{ secrets.SSH\_USER }}

          SOURCE: ./

          TARGET: /home/uzytkownik/public\_html/

          EXCLUDE: ".git/, node\_modules/, .env"

**Bezpieczeństwo kluczy SSH:** Wygeneruj osobny klucz SSH tylko do deployu: `ssh-keygen -t ed25519 -C "github-deploy" -f ~/.ssh/github_deploy`. Dodaj klucz publiczny do `~/.ssh/authorized_keys` na serwerze, a klucz prywatny jako GitHub Secret. Nigdy nie używaj klucza głównego do CI/CD.

## cPanel Git Version Control — [SmartHost](/out/smarthost/#reklama "SmartHost") i inne

Hostingi z cPanelem (np. [SmartHost](/out/smarthost/#reklama "SmartHost")) mają wbudowany interfejs Git — bez konfiguracji przez SSH:

1.  Zaloguj się do cPanela → sekcja "Pliki" → "Git™ Version Control"
2.  Kliknij "Create" → wklej URL repozytorium GitHub/GitLab
3.  Wybierz katalog docelowy (zazwyczaj `public_html/`)
4.  Deploy: w panelu kliknij "Update from Remote" lub skonfiguruj automatyczny pull przez webhook

## Jaki hosting wybrać pod git deploy?

Nie każdy hosting współdzielony oferuje dostęp SSH i Git CLI. Poniżej zestawienie co obsługuje każda z metod deployu.

Dostawca

SSH

Git CLI

cPanel Git

GitHub Actions

[LH.pl](/out/lh-pl/#reklama "LH.pl")

Tak (port 22)

Tak

Nie

Tak (rsync)

[SmartHost](/out/smarthost/#reklama "SmartHost")

Tak

Tak

Tak

Tak (rsync)

[Zenbox](/out/zenbox/#reklama "Zenbox")

Tak

Tak

Nie

Tak (rsync)

Hosting bez SSH

Nie

Nie

Nie

Tak (FTP action)

**Wskazówka przy wyborze hostingu:**

Jeśli planujesz regularne deploye, sprawdź przed zakupem czy hosting oferuje SSH (nie tylko FTP). Dostęp SSH otwiera też możliwość uruchamiania Composera, npm, skryptów post-deploy i zarządzania kluczami. Przy porównywaniu ofert sprawdź też cenę po odnowieniu — atrakcyjna cena promocyjna na rok pierwszy to norma, ale różnica wobec ceny regularnej bywa znaczna.

## Najczęstsze pytania

Czy mogę deployować aplikację przez git push na hostingu współdzielonym? ›

Tak — jeśli hosting obsługuje SSH i Git CLI. Metoda: (1) Na serwerze utwórz bare repo (git init --bare ~/repos/moja-strona.git); (2) Dodaj post-receive hook kopiujący pliki do public\_html/; (3) Lokalnie dodaj remote: git remote add hosting ssh://uzytkownik@serwer/~/repos/moja-strona.git; (4) Deploy: git push hosting main. LH.pl, CyberFolks i zenbox obsługują Git przez SSH. Sprawdź w panelu czy Git jest dostępny i jakiej wersji.

Jak używać GitHub Actions do deployu na hosting współdzielony? ›

GitHub Actions + rsync przez SSH to najpopularniejsza metoda. Workflow (.github/workflows/deploy.yml): (1) Trigger: push do branch main; (2) Steps: checkout, build (npm run build / composer install); (3) Deploy przez rsync: rsync -avz --delete ./dist/ uzytkownik@serwer:~/public\_html/. Wymagania: GitHub Secret SSH\_PRIVATE\_KEY (klucz prywatny), SSH\_HOST (adres serwera), SSH\_USER. Alternatywa: action "easingthemes/ssh-deploy" lub "appleboy/ssh-action". Metoda działa z każdym hostingiem z SSH niezależnie od panelu.

Co to jest bare repo i post-receive hook? ›

Bare repo (git init --bare) to repozytorium bez working directory — przechowuje tylko historię commitów. Używane jako "remote" na serwerze. Post-receive hook to skrypt Shell uruchamiany automatycznie po każdym git push. Przykład hooka: #!/bin/bash; GIT\_WORK\_TREE=/home/user/public\_html GIT\_DIR=/home/user/repos/site.git git checkout -f main. Zrób go wykonywalnym: chmod +x hooks/post-receive. Hook może też uruchamiać composer install, npm run build lub restarty procesów PM2.

Czy git deploy działa dla WordPress na hostingu? ›

Tak, ale z ograniczeniami. W git repozytorium trzymaj własny kod (motyw, wtyczki, wp-content/themes/moj-motyw/) — NIE core WordPress ani wp-content/uploads/. W .gitignore: wp-config.php (zawiera hasła DB), wp-content/uploads/, /vendor/. Workflow: git push deployuje tylko zmiany w motywie/wtyczkach. WordPress core i media pozostają na serwerze nienaruszone. Przy WooCommerce dodaj wp-content/woocommerce-logs/ do .gitignore.

## Szybkie przejście do ofert związanych z tym tematem

Wybraliśmy oferty i strony z kodami rabatowymi, które najczęściej pasują do tego scenariusza użycia.

LH.pl

Hosting z prostym wdrożeniem kodu przez Git.

Git

[Aktywuj rabat →](/out/lh-pl/#reklama "LH.pl")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl)

SmartHost

Shared hosting z naciskiem na prosty panel i stabilność.

Panel

[Aktywuj rabat →](/out/smarthost/#reklama "SmartHost")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/smarthost)

webh.pl

Cloud hosting do częstych deployów.

Deploy

[Aktywuj rabat →](/out/webh/#reklama "webh.pl")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/webh)

## Powiązane artykuły

-   [Composer na hostingu
    
    PHP Composer na shared hosting — instalacja i użycie.
    
    ](/baza-wiedzy/composer-na-hostingu)
-   [FTP, SFTP, SSH na hostingu
    
    Bezpieczne metody transferu plików na serwer.
    
    ](/baza-wiedzy/ftp-sftp-ssh-hosting)
-   [Node.js na hostingu
    
    Deploy aplikacji Node.js — opcje i konfiguracja.
    
    ](/baza-wiedzy/nodejs-na-hostingu-wspoldzielonym)
-   [Cron job na hostingu
    
    Automatyczne zadania po deploymencie — konfiguracja cron.
    
    ](/baza-wiedzy/co-to-jest-cron-job-hosting)

Autor: [Adam Nadolny](/autorzy/adam-nadolny) Ekspert DevOps i infrastruktury · Zweryfikowano Czerwiec 2026

Administruje własnymi serwerami VPS i dedykowanymi, testując konfiguracje pod realnym obciążeniem — nie w sandboxie. W HostGrade.pl buduje bazę wiedzy DevOps: przewodniki po konfiguracji Nginx, Dockera, Redis i backupów serwerowych pisane na podstawie realnych deploymentów. Porównuje parametry techniczne planów VPS: gwarantowane vCPU kontra shared core, przepustowość sieci i IOPS dysków NVMe. Specjalizuje się w hardening serwera Linux — od fail2ban przez iptables po audyty CIS Benchmark. Każdy artykuł techniczny przechodzi przez środowisko testowe: konfiguracja Redis Cluster, setup HAProxy czy skrypt backup z BorgBackup są uruchamiane przed publikacją. Wierzy, że dobry tutorial kończy się komendą, której wynik faktycznie działa.

[Pełny profil autora →](/autorzy/adam-nadolny)