Logo

~/saidqb cat wiki/stack/git/project-app.md

MDproject-app.md

commit by saidqb

Struktur 1 — Semua Isi Repo Adalah Project

Struktur paling sederhana: tidak ada folder doc/ atau folder lain di repo yang sama — apa yang ada di root repo memang itu yang mau dijalankan/di-deploy.

repo/
├── src/
├── public/
├── package.json        (atau composer.json, requirements.txt, dst)
└── .git/

Karena seluruh isi repo memang untuk production, tidak perlu git subtree — push biasa saja sudah cukup.

Urutan Deploy

  1. Tambahkan remote production (sekali saja, kalau belum ada)
git remote add production git@server:/path/to/repo.git
  1. Push ke remote itu
git push production main
  1. Di server: kalau pakai bare repo + post-receive hook, working directory production otomatis ter-checkout. Kalau tidak pakai hook, tinggal pull manual di server
ssh user@server "cd /var/www/app && git pull origin main"

Kapan cocok pakai pola ini

  • Project kecil/tunggal, tidak ada dokumentasi internal atau folder lain yang numpang di repo yang sama.
  • Semua file di repo memang aman kalau ikut ke server production.

Kalau ada file yang tidak boleh ikut ke production (dokumentasi internal, script development, dsb) tapi tetap satu repo — pakai pola di project-app-dan-doc.md.