# Git ve GitHub ile Hosting ve VDS Üzerinde Otomatik Dağıtım (Deployment)

https://www.bihostnet.com/bilgi-bankasi/makale/git-github-ile-hosting-vds-otomatik-deployment

## Git ve GitHub Neden Kullanılmalıdır?

Geliştiricilerin kod geçmişini takip etmesini, ekip çalışmasını ve dosya aktarımlarını güvenli hale getiren versiyon kontrol sistemidir. FTP ile tek tek dosya yüklemek yerine Git kullanarak tek bir komutla tüm projeyi sunucunuza aktarabilirsiniz.

## VDS / SSH Üzerinde İlk Kurulum ve Repo Çekme

1. BiHostNet VDS sunucunuza SSH ile bağlanın: `ssh root@sunucu_ip`
2. Git yüklü değilse kurun: `apt update && apt install git -y` (Ubuntu/Debian) veya `yum install git -y` (AlmaLinux/CentOS)
3. Web dizininize geçin: `cd /var/www/html` veya `cd /home/kullanici/public_html`
4. Projeyi klonlayın: `git clone https://github.com/kullaniciadi/projeniz.git .`

## GitHub Webhook ile Otomatik Deploy Mantığı

Her `git push origin main` yaptığınızda sunucunun otomatik olarak güncellenmesi için:

- Projenize gizli bir `deploy.php` betiği ekleyin. Bu dosya içinde `shell_exec('git pull origin main');` komutunu çalıştırın.
- GitHub reposunda **Settings > Webhooks > Add Webhook** bölümüne gidin.
- Payload URL olarak `https://siteniz.com/deploy.php` adresini yazın, Content type: `application/json` seçin.
- Artık yerel bilgisayarınızda yaptığınız her push işleminde GitHub sunucunuza ping atar ve sunucunuz kodları anında canlıya alır.
