# Fork vs Branch

Adres: https://softwaredictionary.org/tr/karsilastirma/fork-vs-branch
Son güncelleme: 2026-09-30

Kısaca: Fork, bir deponun başka bir hesaptaki tam kopyasıdır, push edemediğiniz projelere katkı için kullanılır; branch ise aynı depodaki ayrı bir iş çizgisidir.

## Fork ile branch arasındaki fark nedir?

Fork, bir kod barındırma platformunda kendi hesabınız altında oluşturulan, dalları ve geçmişiyle birlikte başkasının deposunun tam bir kopyasıdır. Branch (dal) ise bir Git deposunda bir commit'i gösteren hareketli bir işaretçidir; ana kod çizgisine dokunmadan bir özellik ya da düzeltme üzerinde çalışmanızı sağlar.

Fark sahiplik ve izinlerdedir. Dallar tek bir depoda bulunur ve yazma erişimi olan herkes tarafından paylaşılır; bu, birlikte çalışan bir ekibe uygundur. Fork ise size tam denetimi olan kendi deponuzu verir; insanlar push edemedikleri açık kaynak projelerine bu yolla katkı yapar: fork'larında değişiklik yapar ve genellikle upstream denen özgün depoya bir pull request açarlar.

Fork'lar ve dallar birlikte kullanılır. Bir fork'un içinde de her değişiklik için yine bir dal oluşturursunuz ve pull request, o dalın upstream deposunun bir dalına merge edilmesini ister. Bir fork'u güncel tutmak için özgün depoyu `upstream` adlı bir remote olarak eklersiniz ve değişikliklerini fetch edersiniz.

Sık yapılan bir yanlış, fork'lamanın bir Git komutu olduğu düşüncesidir. Git'in kendisinde yalnızca klonlar, dallar ve remote'lar vardır; fork'lama, sunucu tarafında bir kopya oluşturan ve özgün depoya bağlantıyı hatırlayan barındırma platformlarının bir özelliğidir.

| Özellik | Fork | Branch |
| --- | --- | --- |
| Nedir | Bir deponun başka bir sahibin altındaki tam kopyası | Tek bir depo içindeki adlandırılmış bir çalışma çizgisi |
| Nerede durur | Barındırma platformunda ayrı bir depo | Ana kodla aynı deponun içinde |
| İzinler | Kopyanız üzerinde tam denetiminiz var | Depoya yazma erişimi gerekir |
| Nasıl oluşturulur | Barındırma platformunda bir düğme ya da API çağrısıyla | `git branch` ya da `git switch -c` ile |
| Güncel kalma | Bir `upstream` remote'undan fetch etmek | Ana daldan merge veya rebase etmek |
| İşin görünürlüğü | Pull request açılana kadar özgün depodan ayrı | Depoya erişimi olan herkes tarafından görülür |
| En uygun olduğu yer | Açık kaynak katkıları ve bağımsız türevler | Bir ekip içindeki özellikler, düzeltmeler ve denemeler |

## Fork şu durumlarda doğru seçim

- Özgün depoya yazma erişiminiz yok.
- Bir açık kaynak projesine katkı yapıyorsunuz.
- Bir projenin bağımsız bir sürümünü başlatmak istiyorsunuz.

## Branch şu durumlarda doğru seçim

- Ekiptesiniz ve depoya push edebiliyorsunuz.
- Yakında geri merge edilecek bir özellik ya da düzeltme geliştiriyorsunuz.
- Projeden ayrılmadan deney yapmak istiyorsunuz.

## Sık sorulan sorular

**Fork mu yapmalıyım, branch mi açmalıyım?**

Depoya yazma erişiminiz varsa, ki bu bir ekipte olağandır, branch açın. Yoksa, çoğu açık kaynak projesinde olduğu gibi, fork yapın ve değişikliklerinizi bir pull request ile geri gönderin.

**Fork, klon ile aynı şey mi?**

Tam olarak değil. Klon kendi makinenizdeki bir kopyadır; fork ise hesabınız altındaki, özgün depoya bağlantısını koruyan bir sunucu tarafı kopyadır.

**Bir fork'un dalları olabilir mi?**

Evet. Fork tam bir depodur, bu yüzden içinde her zamanki gibi dallar oluşturursunuz ve pull request'ler genellikle bu dallardan birinden açılır.

---

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