# Git ve GitHub Nasıl Kullanılır? İlk Commit, Branch ve Pull Request Rehberi

- Kaynak: https://teknopiksel.com/git-ve-github-baslangic-rehberi-h100869.html
- Yazar: Mehmet Ali Demirci
- Yayın: 2026-10-30
- Bölüm: Kodlama
- Yayıncı: Teknopiksel

> Git'i kurup ilk commit'i atmak, dal (branch) açmak, GitHub'a göndermek ve pull request oluşturmak için sıfırdan başlangıç rehberi.

**Kısa cevap:** Git kodunuzun geçmişini tutar, GitHub onu internette saklar ve paylaşır. Önce git init ile depo açın, git add ve git commit ile kaydedin, git switch -c ile dal oluşturun, git push ile GitHub'a gönderin ve değişikliği pull request ile ana dala birleştirin.

Git, kod değişikliklerinin tam geçmişini tutan sürüm kontrol sistemidir. Yanlış bir değişiklik yaptığınızda eski hâle dönebilir, aynı projede başkalarıyla çakışmadan çalışabilirsiniz. **GitHub** ise Git depolarını internette barındıran ve iş birliğini kolaylaştıran servistir.

Yapay zekâ ile kod yazıyorsanız Git daha da önemlidir: asistan bir şeyi bozduğunda son çalışan sürüme tek komutla dönebilirsiniz.

## Adımlar

### 1. Git'i kurun ve kimliğinizi tanıtın

git-scm.com adresinden indirin (Windows), macOS'ta `brew install git` ya da Linux'ta paket yöneticinizle kurun. Sonra bir kez kimliğinizi girin:

```
git config --global user.name "Adınız Soyadınız"
git config --global user.email "eposta@ornek.com"
git config --global init.defaultBranch main
```

### 2. Depo oluşturun ve ilk commit'i atın

```
mkdir deneme
cd deneme
git init
echo "# Deneme" > README.md
git add README.md
git commit -m "İlk commit"
```

Mantık iki adımlıdır: `git add` hangi değişikliklerin kaydedileceğini seçer (hazırlık alanı), `git commit` bunları açıklamasıyla birlikte kalıcı bir kayıt yapar. Durumu görmek için `git status`, geçmişi görmek için `git log --oneline` kullanın.

### 3. Dal (branch) açın

```
git switch -c ozellik-giris
# dosyada değişiklik yapın
git add .
git commit -m "Giriş sayfasını ekle"
```

Dal, ana koda dokunmadan deney yapabileceğiniz paralel bir çizgidir. Beğenmezseniz dalı silersiniz, beğenirseniz birleştirirsiniz. Dalları değiştirmek için `git switch main` yazın.

### 4. GitHub'a gönderin

github.com üzerinde hesap açın ve boş bir depo oluşturun. Sonra, GitHub'ın verdiği adresle:

```
git remote add origin https://github.com/KULLANICI/deneme.git
git push -u origin main
```

Parola yerine **kişisel erişim jetonu** ya da GitHub CLI (`gh auth login`) ile giriş yapmanız gerekir. GitHub artık hesap parolasıyla Git işlemi kabul etmez.

### 5. Pull request açın

```
git push -u origin ozellik-giris
gh pr create --fill
```

GitHub web arayüzünde dalınız için *Compare & pull request* düğmesi de çıkar. Pull request, değişikliğinizin ana dala katılmasını önermektir; başkaları (ya da siz) farkları inceler, onaylanınca *Merge* ile birleşir.

### 6. Geçmişe dönmek ve hatayı düzeltmek

```
git restore dosya.txt          # kaydedilmemiş değişikliği at
git revert <commit-no>         # bir commit'in etkisini geri al
git log --oneline              # numaraları gör
```

`revert` geçmişi silmez, tersi yönde yeni bir commit ekler; ortak çalışmada en güvenli yoldur. `git reset --hard` ve `git push --force` komutlarını ne yaptığını bilmeden kullanmayın, çünkü iş kaybettirebilir.

### 7. Gizli bilgileri depoya koymayın

Parolalar, API anahtarları ve `.env` dosyaları depoya girmemelidir. Proje klasörüne `.gitignore` dosyası ekleyin:

```
.env
node_modules/
__pycache__/
*.log
```

Yanlışlıkla bir anahtar GitHub'a gittiyse silmek yetmez; anahtarı hemen iptal edip yenisini üretin.

## Sık sorulan sorular

### Git ile GitHub aynı şey mi?

Hayır. Git bilgisayarınızda çalışan sürüm kontrol aracıdır. GitHub, GitLab ve Bitbucket depoları internette barındıran servislerdir.

### Commit mesajı nasıl yazılır?

Kısa ve ne yaptığını anlatan bir cümle: "Giriş formuna doğrulama ekle". "düzeltme" ya da "son" gibi anlamsız mesajlardan kaçının.

### GitHub ücretsiz mi?

Evet, herkese açık ve özel depolar için ücretsiz bir plan vardır. Ek özellikler ücretli planlarda.

### Git'i grafik arayüzle kullanabilir miyim?

Evet. VS Code'un Kaynak Denetimi paneli, GitHub Desktop ve Fork gibi araçlar komutların çoğunu düğmelerle yapar.
