Git’i ogrenmeden once kodumun farkli surümlerini klasor kopyalayarak sakliyordum: proje_v1, proje_v2, proje_son, proje_gercekten_son. Bu kadar karmaisiklik yasadiktan sonra Git ogrenmek zorunda kaldim. Ve sunu soyleyebilirim: ogrenmesi sandighim kadar zor degil.
Git Nedir?
Git, dosyalarindaki degisiklikleri takip eden bir versiyon kontrol sistemi. Her “commit” yaptiginda o anki dosya durumunu kaydediyor. Sonra istedigin zaman o noktaya donebiliyorsun. Birden fazla kisiyle ayni projede calisirken catismalari yonetiyor. GitHub, GitLab, Bitbucket — bunlar Git repository’lerini cevrimici barindiran platformlar. Git ile GitHub ayni sey degil.
Kurulum
Git’i git-scm.com’dan indir. Windows’ta kurulum sirasinda “Git Bash” secenegi de geliyor — bunu kur, cok ise yariyor. Kurulum sonrasi kimligini tanit:
git config --global user.name "Adin"
git config --global user.email "eposta@adresin.com"
Temel Is Akisi
Git’in mantigini anlamak icin su uc alani aklinda tut:
- Working Directory: Dosyalarin gercekten durdugu yer
- Staging Area (Index): “Bu degisiklikleri kaydedecegim” dedigin alan
- Repository: Kaydedilmis degisiklikler (commit’ler)
Ilk Repository’yi Olustur
mkdir proje
cd proje
git init
Bu kadar. Klasorun icinde gizli bir .git klasoru olusturuldu, burasi tum gecmisi tutuyor.
Ilk Commit
# Dosya olustur
echo "Merhaba Git" > index.html
# Durumu kontrol et
git status
# Dosyayi staging'e ekle
git add index.html
# Commit yap
git commit -m "Ilk commit: index.html eklendi"
Her commit icin anlamli bir mesaj yaz — “degisiklik yaptim” degil, “kullanici girisi formu eklendi” gibi.
Sik Kullandigim Komutlar
| Komut | Ne Yapar |
|---|---|
| git status | Degismis dosyalari gosterir |
| git add . | Tum degisiklikleri staging’e ekler |
| git commit -m “mesaj” | Staging’i commit’e cevirir |
| git log –oneline | Commit gecmisini kisa gosterir |
| git diff | Degisiklikleri gosterir |
| git branch | Branch’leri listeler |
| git checkout -b yeni-branch | Yeni branch olusturur ve gecer |
| git merge branch-adi | Branch’i birlestir |
Branch: Paralel Calisma
Branch’ler en guclu ozelliklerden biri. Ana kod bozulmadan yeni ozellik gelistiriyorsun:
git checkout -b yeni-ozellik
# degisiklikler yap, commit'le
git checkout main
git merge yeni-ozellik
GitHub’a Yukle
GitHub’da yeni repo olustur, sonra:
git remote add origin https://github.com/kullanici/proje.git
git branch -M main
git push -u origin main
Sonraki push’larda sadece git push yeterli.
.gitignore
Bazi dosyalari Git’in takip etmemesini istersin: sifre dosyalari, node_modules, derleme ciktilari. Proje klasorunde .gitignore dosyasi olustur:
node_modules/
.env
*.log
dist/
Sonuc
Bu rehberdeki komutlari duzenli kullaniirsan 1-2 hafta icinde aliskanlik haline geliyor. Git’i ogrenmek icin en iyi yol gercek bir projeye uygulamak. Kucuk de olsa bir projeyi Git ile yonet — commit gecmisinin olusuugunu gormek motivasyon veriyor.