React Projesi Oluşturup, Kolayca Sürekli Deploy Etme 
Örnek proje adı haber-portali, sunucu IP'si 203.0.113.10, sunucu kullanıcı adı deploy, domain haberportali.com olsun — siz kendi bilgilerinizle değiştirirsiniz.
Debian makinenizde terminalde:
npm create vite@latest haber-portali template react
cd haber-portali && npm install && npm run dev
ile localhost:5173'te çalıştığını doğrulayın.
(Create React App artık bakımdan kaldırıldı; Vite hem daha hızlı hem güncel standart.)
Bu aşamada NetBeans'te File > Open Project ile haber-portali klasörünü açıp geliştirmeye başlayabilirsiniz.
React sitesi bir kere derlendikten (build) sonra aslında sadece statik HTML/CSS/JS dosyaları haline geliyor — yani "React'i sunucuya kurmak" diye bir şey yok, sunucuda Node.js falan çalıştırmanıza gerek yok (SSR/Next.js kullanmıyorsanız). Temel mantık şu:
npm run build
Sürekli Deploy İçin
Proje klasöründe
git init && git add -A && git commit -m "ilk commit"
çalıştırın. Vite zaten bir .gitignore dosyası oluşturur ve node_modules'ı hariç tutar — bu önemli, node_modules ASLA git'e eklenmemeli (binlerce dosya, gereksiz yer kaplar). package-lock.json ise MUTLAKA commit'lenmeli, çünkü sunucuda aynı sürümlerin yüklenmesini garanti eder.
Bu üç komut art arda çalıştırılıyor (&& ile birbirine bağlanmış, yani biri başarılı olursa sıradaki çalışır):
git init→ Proje klasöründe yeni bir Git deposu (repository) başlatır. Yani klasörü Git ile takip edilebilir hale getirir.git add -A→ Klasördeki tüm değişiklikleri (yeni, değişmiş, silinmiş dosyalar dahil) Git'in "staging area"sına ekler — yani commit'e hazırlar. (-A= "all")git commit -m "ilk commit"→ Hazırlanan dosyaları kalıcı olarak Git geçmişine kaydeder.-mile commit'e bir açıklama (mesaj) veriyorsunuz: "ilk commit".
.gitignore sayesinde node_modules otomatik olarak dışarıda kalır, ama package-lock.json dahil diğer tüm önemli dosyalar (kaynak kod, config dosyaları vb.) commit'lenmiş olur.gitignore ve node_modules konusu
- Vite ile proje oluşturduğunuzda otomatik olarak bir
.gitignoredosyası gelir. - Bu dosya, Git'e "şu dosyaları/klasörleri görmezden gel, asla takip etme" der.
node_modulesklasörü bu listede zaten vardır çünkü:- İçinde binlerce küçük dosya olur (kullandığınız her npm paketinin kendisi ve onların bağımlılıkları).
- Bu dosyalar dev bilgisayarınızda tekrar oluşturulabilir (
npm installile). - Git'e eklerseniz depo boyutu gereksiz yere devasa büyür, commit'ler yavaşlar, GitHub gibi platformlarda sorun çıkarabilir.
Yani node_modules'ı asla git'e eklememelisiniz — zaten .gitignore bunu otomatik engelliyor, siz ekstra bir şey yapmanıza gerek yok.
package-lock.json neden commit'lenmeli?
package.jsondosyası paketlerin hangi versiyon aralığını kullanacağınızı belirtir (örn:^4.2.0gibi — "4.2.0 ve üzeri uyumlu versiyonlar" demek).package-lock.jsonise tam olarak hangi versiyonun yüklendiğini kilitler (örn: tam olarak4.2.3).- Bu dosya olmazsa:
- Siz
npm installyaptığınızda bir versiyon yüklenir, - Başka biri (ya da sunucu, deployment ortamı)
npm installyaptığında farklı bir versiyon yüklenebilir, - Bu da "bende çalışıyordu ama sunucuda çalışmıyor" gibi tutarsızlık sorunlarına yol açabilir.
- Siz
package-lock.json'ı commit'lerseniz, herkes ve her ortam aynı paket versiyonlarını yükler → tutarlılık garanti edilir.
Git = sadece yerel bir versiyon takip sistemi
git init komutu çalıştırdığınızda, sadece kendi bilgisayarınızdaki proje klasöründe gizli bir .git klasörü oluşur. Bu, dosyalarınızın geçmişini (kim, ne zaman, ne değiştirdi) yerel diskinizde tutar.
Hiçbir yere internete gönderilmez, hiç kimse göremez — siz git push komutuyla GitHub/GitLab/Bitbucket gibi bir uzak sunucuya (remote) göndermediğiniz sürece.
Yani:
git init && git add -A && git commit→ tamamen yerel, kimseyle paylaşılmaz ?git push origin main→ işte bu adım kodu bir sunucuya (genelde GitHub) yükler, paylaşım burada başlar
Kodunuzu paylaşmak istemiyorsanız, sadece git push yapmayın (ya da hiç remote eklemeyin). Git'i sadece kendi bilgisayarınızda değişiklik geçmişi tutmak için kullanabilirsiniz — bu tamamen güvenlidir ve hatta önerilir (hata yaptığınızda eski versiyona dönebilirsiniz).