# Fork

Adres: https://softwaredictionary.org/tr/terimler/fork
Kategori: Sürüm Kontrolü
Son güncelleme: 2026-09-30

Kısaca: Fork, başkasının deposunun bir barındırma platformundaki kişisel kopyasıdır; özgürce denemeler yapmanızı ve değişiklikleri özgün projeye geri önermenizi sağlar.

## Git'te fork nedir?

Fork, GitHub, GitLab veya Bitbucket gibi bir barındırma platformunda kendi hesabınız altında oluşturulan, dosyalarını, branch'lerini ve geçmişini içeren tam bir depo kopyasıdır. Fork'unuz üzerinde tam denetim sahibisiniz; özgün projenin sahiplerinden izin almadan istediğiniz değişiklikleri yapabilirsiniz. Özgün depoya genellikle upstream denir.

Fork'lamak, yazma erişiminizin olmadığı açık kaynak projelere katkı vermenin standart yoludur. Projeyi fork'lar, fork'unuzu bilgisayarınıza klonlar, bir branch üzerinde değişiklik yapar, bunları fork'unuza push eder ve ardından upstream bakımcılarından çalışmanızı birleştirmelerini isteyen bir pull request açarsınız. Fork'unuzu güncel tutmak için özgün projeyi `upstream` adlı bir remote olarak ekler ve yeni commit'lerini düzenli olarak çekersiniz.

Fork, yayımlanmış bir yemek kitabını fotokopiyle çoğaltıp kenarlarına not almak ve yeni tarifler denemek gibidir. Değişikliklerinizden biri çok iyi çıkarsa bunu özgün yazara gönderirsiniz; o da sonraki baskıya eklenip eklenmeyeceğine karar verir. Bazen bir fork, genellikle topluluk özgün projenin yönü konusunda anlaşamadığında kendi başına ayrı bir projeye dönüşür; LibreOffice'in OpenOffice.org'dan ayrılması buna örnektir.

Fork sıklıkla klon ya da branch ile karıştırılır. Klon, `git clone` ile yapılan, bir deponun yerel makinenizdeki kopyasıdır; fork ise farklı bir hesap altındaki sunucu tarafı kopyadır. Branch ise aynı depo içindeki ayrı bir çalışma hattıdır; bu yüzden tek bir depoyu paylaşan ekipler genellikle fork yerine branch kullanır.

## Önemli noktalar

- Fork, bir barındırma platformunda bir deponun kendi hesabınız altındaki kopyasıdır.
- Fork'lar, doğrudan push edemediğiniz projelere pull request'ler aracılığıyla katkı vermenizi sağlar.
- Özgün depoya upstream denir; güncel kalmak için onunla senkronize olun.
- Fork'lamak bir Git komutu değil, barındırma platformu özelliğidir.

## Örnek: Bir fork ve upstream ile çalışmak

```bash
# After forking on the hosting platform, clone YOUR fork
git clone https://github.com/your-name/project.git
cd project

# Add a second remote that points at the original repository
git remote add upstream https://github.com/original-owner/project.git

# Keep your fork up to date with the original
git fetch upstream
git switch main
git merge upstream/main
git push origin main
```

## Sık sorulan sorular

**Fork ile klon arasındaki fark nedir?**

Fork, barındırma platformunda hesabınız altında oluşturulan bir depo kopyasıdır. Klon ise kendi bilgisayarınıza indirilen bir kopyadır; tipik iş akışında önce bir projeyi fork'lar, sonra fork'unuzu klonlarsınız.

**Fork ile branch arasındaki fark nedir?**

Branch, aynı depo içindeki ayrı bir geliştirme hattıdır ve orada branch oluşturmak yazma erişimi gerektirir. Fork ise sahibi olduğunuz, tamamen ayrı bir depodur; bu yüzden branch oluşturamadığınız projelere katkı vermek için fork kullanılır.

**Fork'umu nasıl güncel tutarım?**

`git remote add upstream <url>` ile özgün projeyi bir remote olarak ekleyin, ardından `git fetch upstream` çalıştırın ve `upstream/main`'i branch'inize merge ya da rebase edin. Birçok barındırma platformu bunu sizin yerinize yapan bir eşitleme düğmesi de sunar.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
