Ana içeriğe atla

Git Remote: Örneklerle Eksiksiz Rehber

Git remote’ları, amaçları ve projelerinizde sürüm kontrolü için nasıl kullanılacakları hakkında bilgi edinin. Pratik örnekler içerir.
Güncel 3 Eki 2026  · 11 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Git, dosyalardaki değişiklikleri zaman içinde izlemek için yazılım geliştirmede kullanılan popüler bir sürüm kontrol sistemi (VCS)’dir. Geliştiricilerin birbirlerinin katkılarını üzerine yazmadan eşzamanlı çalışmasına olanak tanıyarak iş birliğini kolaylaştırır. Tüm geliştiriciler projenin geçmişinin eksiksiz yerel kopyalarına sahip olduğundan, bireyler çevrimdışı bağımsız çalışabilir ve hazır olduklarında değişikliklerini güvenle birleştirebilirler.

Bir uzak depo (remote repository) ya da kısaca remote, Git projenizin GitHub veya BitBucket gibi çevrimiçi bir barındırma hizmeti üzerinden bulutta tutulan sürümüdür.

Bu yazıda Git remote’larını daha ayrıntılı inceleyeceğiz. Git’e yeni başlıyorsanız, başlangıç seviyesi Git eğitimimizi okumanızı öneririz. 

Git Remote Nedir?

Bir Git remote, bir deponun depolanabileceği, paylaşılabileceği ve başkaları tarafından erişilebileceği merkezi bir konum sağlar. Kullanıcılar yerel değişikliklerini remote’a push edebilir ve ekip arkadaşlarının remote üzerinde yaptığı güncellemeleri pull ile alabilir. Remote’lar ayrıca kodun yedeklenmesi ve üretim ortamlarına dağıtılması için de kullanışlıdır.

Bir yerel depo (local repository) kendi bilgisayarınızda bulunur; böylece kod yazabilir, commit atabilir ve değişiklikleri yerelde test edebilirsiniz. Çevrimiçi konumda bulunan bir uzak depo ise kodu paylaşmak, diğerleriyle iş birliği yapmak ve çalışmalarınızı yedeklemek için kullanılır. Bu yazıda, Git komutlarını kullanarak yerel ve uzak depolar arasındaki değişiklikleri nasıl senkronize edeceğimizi göreceğiz.

Git iş akışı

Tipik bir Git iş akışı, uzak bir depoyu yerel makinenize “klonlayarak” başlar. Klonladıktan sonra bir özellik veya hata düzeltmesi üzerinde çalışmak için yeni bir dal (branch) oluşturabilir, değişiklikler yapabilir ve bunları yerelde commit edebilirsiniz. 

Çalışmanız hazır olduğunda, dalı remote’a “push” eder ve inceleme için bir pull request açarsınız. Onaylandıktan sonra değişiklikleri ana dala (main) birleştirin. 

Süreç boyunca, yerel deponuzu remote ile senkron tutmak için düzenli olarak “pull” yaparsınız.

Tipik bir Git iş akışı

Tipik bir Git iş akışı (Görsel: Introduction to Git Course)

Bu sürece biraz daha yakından bakalım.

Depo klonlama

Diyelim ki uzak bir deponun kopyasını oluşturmak istiyorsunuz; bu işleme depoyu “klonlama” denir. Yerel bir kopyayla kodu değiştirebilir ve yeni özellikleri test edebilirsiniz.

Git kullanmak için kurulu olduğundan emin olun, ardından bir terminal açıp şu komutu kullanın: git clone <URL>.

Örneğin, kullanıcı adı “datacamp” olan bir GitHub sayfasından “project” adlı bir projeyi klonlamak için şunu kullanın

git clone https://github.com/datacamp/project.git

Varsayılan remote: 'origin'

Bir depoyu klonladığınızda, Git origin adlı varsayılan bir remote oluşturur. Bu origin etiketi, klonladığınız deponun URL’si için bir takma ad (alias) görevi görür.

Tipik Git iş akışlarında git push veya git pull gibi komutları çalıştırdığınızda, farklı bir remote belirtmediğiniz sürece Git sizin origin’i kastettiğinizi varsayar. Bu, yerel kopyanızla paylaşılan depo arasındaki değişikliklerin senkronizasyonunu basitleştirir. Push ve pull işlemlerine bu yazının ilerleyen bölümlerinde daha yakından bakacağız.

Git Remote’ları Yönetme

Yaygın remote yönetimi görevleri arasında, git remote ile mevcut remote’ları görüntülemek ve git remote add ile yeni bir remote eklemek bulunur.

Mevcut remote’ları görüntüleme

Mevcut remote’ları görüntülemek için git remote komutunu kullanın. 

git remote
>> origin

Örneğimizde origin adlı remote takma adı listelenir, ancak URL’si gösterilmez. Her remote ile ilişkili URL’yi görmek isterseniz -v bayrağını kullanın.

git remote -v
>> origin	https://github.com/datacamp/project.git (fetch)
>> origin	https://github.com/datacamp/project.git (push)

Yeni bir remote ekleme

Yerel deponuzu başka bir remote ile bağlamak isteyebilirsiniz. Örneğin, bir projeyi fork’ladıysanız, main remote’undaki değişikliklere ek olarak orijinal depodaki değişiklikleri de takip etmek isteyebilirsiniz. Ya da kodunuzu GitHub ve GitLab gibi birden fazla platforma push etmek isteyebilirsiniz.

Yeni bir remote eklemek için git remote add <name> <URL> komutunu kullanın. new_remote adlı yeni bir remote ekleyelim.

git remote add new_remote https://github.com/datacamp/project

Remote’a isim vermek, birleştirme yaparken URL’yi tekrar tekrar yazma ihtiyacını ortadan kaldırdığı için kullanışlıdır.

Remote’ları yeniden adlandırma ve kaldırma

Bir remote’u yeniden adlandırmak basittir. git remote rename <old-name> <new-name> komutunu kullanın. Örneğin,

git remote rename new_remote original_remote

Remote’un yeniden adlandırıldığını doğrulamak için git remote ile remote’ları listeleyin.

Bir remote’u kaldırmak için git remote remove <name> komutunu kullanın.​ Örneğimiz için:

git remote remove new_remote

Şimdi, doğrulamak için remote’ları listeleyin.

git remote
>> origin

Gördüğümüz tek remote origin.

Uzak Dallarla Çalışma

Git’te bir branch (dal), projenizin ana sürümünden (main) bağımsız bir yoldur ve değişiklikleri ana sürümden ayrı çalışmanızı sağlar. Çalışmanız tamamlanıp incelendikten sonra dalı tekrar ana projeye birleştirebilirsiniz.

Uzak dalları listeleme

Uzak dalları listelemek için git branch -r komutunu kullanırız.

git branch -r
>> origin/HEAD -> origin/main
>> origin/main

Çıktıyı yorumlayalım. origin/main satırı, origin remote’unda main adlı bir uzak dal olduğunu gösterir. origin/HEAD -> origin/main satırı ise remote üzerindeki varsayılan dalın origin/main olduğunu belirtir. Yani bu çıktı, origin remote’undaki varsayılan dalın main olduğunu ve şu anda listelenen tek uzak dalın bu olduğunu anlatır.

Uzak bir dalı izleme

Kodunuzu senkron tutmak için sıklıkla bir yerel dalı uzak bir dala bağlamak isteyeceksiniz. Bir yerel dal uzak bir dalı izlediğinde, her seferinde remote ve dal adlarını belirtmenize gerek kalmadan değişiklikleri pull ve push edebilirsiniz. 

Git ayrıca yerel dalınızın uzak dalın ne kadar ilerisinde veya gerisinde olduğunu takip eder; bu da değişiklikleri yönetmeyi kolaylaştırır.

git checkout --track origin/<branch-name> komutu, belirtilen uzak dalı izleyen yeni bir yerel dal oluşturur. <branch-name> ile aynı ada sahip bir yerel dal ayarlar ve bunu uzak sürümüyle ilişkilendirir. Böylece gelecekteki git pull ve git push komutları otomatik olarak doğru uzak dal ile etkileşime girer. Git Push ve Pull hakkında eğitimimizden daha fazla bilgi edinebilirsiniz. 

Remote’lardan fetch ve pull

Yerel dalınızı diğer geliştiricilerin değişiklikleriyle senkron tutmak için içeriği yerel dalınıza çekmeniz gerekir. “Pull” işlemi, remote üzerindeki ilgili daldaki en yeni değişiklikleri indirip bunları söz konusu dalın yerel sürümünüzle birleştirmek anlamına gelir. Bu, en güncel kodla çalışmanızı sağlar.

Diyelim ki origin adlı remote’tan tüm dalları çekmek istiyoruz. Bu, git fetch origin komutuyla yapılır. Yalnızca belirli bir dalı, örneğin main dalını fetch etmek istiyorsanız, git fetch origin main şeklinde belirtin.

Fetch ettikten sonra, getirilen değişiklikleri mevcut yerel dalınıza merge ederek içeriği yine de senkronize etmeniz gerekir. Bunu yapmak için, fetch ettiğiniz dalın adını <branch-name> ile değiştirerek git merge origin/<branch-name> komutunu çalıştırın. Örneğin, uzak main dalındaki değişiklikleri birleştirmek için git merge origin/main kullanırsınız.

Fetch ve merge işlemlerinin ardışık yapılması yaygın olduğundan, Git her ikisini birden yapan tek bir komut sunar: git pull. Örneğin, origin adlı remote üzerindeki main dalından değişiklikleri fetch edip merge etmek için git pull origin main kullanabilirsiniz.

fetch ve merge ne zaman, pull ne zaman kullanılmalı? fetch ve merge’den oluşan iki adımlı süreç güncelleme işlemi üzerinde size daha fazla kontrol sağlar. Fetch, uzak depoda nelerin değiştiğini yerel dalınıza birleştirmeden önce görmenize imkan tanır. Bu, güncellemeleri incelemek, farkları karşılaştırmak veya olası çakışmaları dikkatle ele almak istediğinizde faydalıdır. 

Uzak değişikliklerin hemen merge edilebileceğinden eminseniz ve dalınızı hızlıca güncellemek istiyorsanız pull kullanın. Kullanışlıdır ve iki adımı tek bir işlemde birleştirir; ancak merge gerçekleşmeden önce size daha az görünürlük sunar.

Uzak bir depoya push etme

Yerel bir daldan remote’a “push” etmek, yerel değişikliklerinizi uzak depodaki karşılık gelen dala göndermek anlamına gelir. Bu, uzaktaki depoyu son çalışmalarınızla günceller; böylece diğerleri görebilir, pull edebilir veya üzerine inşa edebilir. Push etmek katkılarınızı paylaşır ve proje üzerinde çalışan herkes için uzak deponun güncel kalmasına yardımcı olur.

Yerel değişiklikleri remote’a yüklemek üç adımlı bir süreçtir.

1. Dahil etmek istediğiniz dosyaları hazırlamak (stage etmek) için git add kullanın. Tüm değişiklikleri eklemek için

git add

Belirli bir dosya eklemek için dosya adını belirtin.

git add <filename>

2. Değişikliklerinizi commit edin. Ne yaptığınızı açıklayan bir mesaj ekleyin.

git commit -m “Your commit message here”

3. Remote’a push edin.

git push origin branch-name

Pratik Örnekler

Bazı pratik örneklere bakalım: bir depoyu klonlama ve birden çok remote ile iş birliği.

Bir depoyu klonlama

Bir depoyu klonlamak için adım adım bir rehber:

  1. Depo URL’sini alın. Klonlamak istediğiniz deponun URL’sini kopyalayın. Bu URL, GitHub veya BitBucket gibi bulut sağlayıcınızda mevcuttur.
  2. Bir dizin seçin. Depoyu kopyalamak istediğiniz bilgisayarınızdaki klasöre gidin.
  3. Depoyu klonlayın. git clone <URL> komutunu çalıştırın. Örneğin, git clone https://github.com/datacamp/project çalıştırın.Bu, içinde depo içeriği bulunan project adlı yeni bir klasör oluşturur.
  4. Yapılandırılmış remote’ları listeleyin. Klonladıktan sonra, git remote komutuyla remote’ları kontrol edin.Örneğimizde, klonladığınız remote için Git’in varsayılan verdiği ad olan origin ve onun URL’sini göreceksiniz.

Birden çok remote ile iş birliği

Açık kaynak bir projeye katkıda bulunurken veya kişisel bir kopya (fork) üzerinden iş birliği yaparken, iki remote ile çalışmak yaygındır: sizin deponuz olan origin ve fork’ladığınız depo olan upstream. Genellikle origin için yazma izniniz vardır, ancak upstream için yoktur.

Birden çok remote yönetirken akılda tutulması gereken bazı iyi uygulamalar vardır.

  1. upstream remote’u ekleyin. Fork’unuzu klonladıktan sonra orijinal depoyu upstream olarak takip edin:git remote add upstream <URL>.
  2. Fork’unuzu güncel tutun. Upstream depodan düzenli olarak git fetch upstream komutuyla değişiklikleri çekin. Ardından bu değişiklikleri yerel dalınıza merge edin veya rebase yapın.
  3. upstream depoya push etmekten kaçının. Genellikle upstream depoya push erişiminiz yoktur (ya da gerekmez). Tüm değişiklikleriniz origin’e push edilmeli ve pull request’ler oradan açılmalıdır.
  4. Açıklayıcı dal adları kullanın. Yerel dallarınızı düzenli tutun. Üzerinde çalıştığınız özellik veya konunun (issue) adına göre adlandırmak iyi bir fikirdir.
  5. Remote’larınızı kontrol edin. Uzaktan yapılandırmanızı gözden geçirmek ve origin ile upstream için URL’lerin doğru olduğunu doğrulamak üzere git remote -v kullanın.
  6. Çalışmaya başlamadan önce senkron kalın. Yeni çalışmaya başlamadan önce, güncel kalmak ve ileride çatışmaları önlemek için upstream’den ana dalınıza en son değişiklikleri her zaman çekin.

Git Remote En İyi Uygulamalar ve İpuçları

Git remote kullanırken izlemeniz gereken bazı en iyi uygulamalar şunlardır: 

Remote’ları güncel tutma

Düzenli olarak değişiklikleri fetch etmek, deponuzun yerel kopyasının remote sürümüyle güncel kalmasına yardımcı olur. git fetch çalıştırarak, mevcut dalınızı etkilemeden uzaktan gelen yeni değişiklikleri indirirsiniz. 

Bu, ekip arkadaşlarınızın neler push ettiğini fark etmenizi sağlar, değişiklikleri karşılaştırmanıza imkân tanır ve gerekli güncellemeler veya birleştirmeler için hazırlık yapmanıza yardımcı olur. Tutarlı fetch işlemleri, çatışma olasılığını azaltır ve iş birliği iş akışınızın sorunsuz ilerlemesini sağlar.

Zamanla, uzak depodan dallar silindikçe, yerel Git kurulumunuz bu eski dalları uzak-izleme dalları (remote-tracking branches) olarak göstermeye devam edebilir. Bunlar “bayat” (stale) uzak-izleme dalları olarak bilinir. 

Dallarınızı temizlemek için, artık origin remote’unda var olmayan uzak-izleme dallarını kaldırmak üzere git remote prune origin çalıştırın. 

Bunu düzenli yapmak, yerel deponuzu düzenli tutmanıza, ilgili dalları daha kolay bulmanıza ve eski çalışmalara referans vermemenize yardımcı olur.

Remote’larla çatışmaları ele alma

Uzak çatışmalarını çözmek zor olabilir. En iyi çözüm, aynı anda birden fazla kişinin kodun aynı bölümleri üzerinde çalışmamasını sağlayarak bunları önlemektir. Ancak bu her zaman mümkün değildir. 

Tüm iyi niyetlere rağmen çatışmalar olabilir. Olduğunda, bunları etkili bir şekilde ele almak için şu planı izleyin:

  1. Dikkatinizi gerektiren çatışmaları görmek için git status kullanın.
  2. Çatışmalı dosyaları açın ve değişiklikleri çözmek için düzenleyin.
  3. Bir birleştirme aracı kullanın. VS Code veya git mergetool gibi araçlar, yan yana karşılaştırmalar gösterir ve kodun hangi sürümünün tutulacağını seçmenize olanak tanır.
  4. Ekip ile iletişim kurun. Çatışma net değilse, sorunu çözmeden önce ekip arkadaşlarınıza danışın. Hangi satırların tutulup hangilerinin kaldırılacağını anladığınızdan emin olun.
  5. Çatışmayı çözdükten sonra kodunuzu test edin; hiçbir şeyin bozulmadığından ve her şeyin beklendiği gibi çalıştığından emin olun.
  6. Değişikliklerinizi commit edin. Tüm çatışmaları çözdükten sonra dosyaları stage edin ve merge’ü tamamlamak için bir commit yapın.

Rebase

git pull --rebase kullanmak, değişikliklerinizi en son uzak commit’lerin üzerine uygulayarak karmaşık merge çatışmalarının olasılığını azaltabilir.

git pull --rebase kullandığınızda, Git önce uzaktan en son değişiklikleri fetch eder, ardından yerel commit’lerinizi sanki çalışmanız sonradan yapılmış gibi üstüne uygular.

Bu yaklaşım daha temiz, doğrusal bir commit geçmişi oluşturmaya yardımcı olur ve dağınık merge çatışmalarının olasılığını azaltabilir.

Geçmişleri birleştiren bir merge commit’i oluşturmak yerine, rebase değişikliklerinizi uzak güncellemelerden sonra yapılmış gibi gösterir. Daha fazlası için Git Rebase eğitimimizi inceleyin. 

Sonuç

Git remote’ları, yerel depoları paylaşılan kod tabanlarına bağlayarak iş birliğine dayalı geliştirme için kritik öneme sahiptir. Bu rehberde, kurulumdan başlayarak fetch, pull ve push komutlarıyla senkronizasyona ve birden çok uzak bağlantının yönetimine kadar temel remote işlemlerini ele aldık.

Ele aldığımız kavramlara hâkim olmak, daha verimli iş birliği yapmanıza, net bir proje geçmişi korumanıza ve geliştirme ekibinize katkıda bulunmanıza yardımcı olabilir.

Git uzak dallarıyla ilgili daha fazla bilgi için DataCamp’in kaynaklarına göz atın.

Git Remote SSS

Git remote nedir?

Git remote, genellikle GitHub, GitLab veya Bitbucket gibi platformlarda bir sunucuda barındırılan bir depoya bağlantıdır.

Bir depoyu klonladığınızda remote&rsquo;un adı nedir?

Varsayılan olarak remote, origin şeklinde kısaltılır.

Hangi remote&rsquo;ların yapılandırıldığını nasıl görürüm?

git remote -v komutu, projenize bağlı tüm remote’ların adlarını ve URL’lerini gösterir.

Yeni bir remote nasıl eklerim?

git remote add <name> <url> komutunu kullanın. Örneğin, 

git remote add upstream https://github.com/user/project.git

Yanlış remote&rsquo;a push edersem ne olur?

Değişikliklerinizi yanlış depoya gönderirsiniz. git remote -v komutuyla remote adlarınızı iki kez kontrol etmeniz iyi bir fikirdir.

Konular
Git

Öne Çıkan DataCamp Kursları

{count, plural, one {Kurs} other {Kurs}}

Git'e Giriş

{hours} sa
102.3K
Yazılım ve veri projelerinizde sürüm kontrolü için Git'in temellerini keşfedin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

{count, plural, one {blog} other {blog}}

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

{count, plural, one {blog} other {blog}}

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

{count, plural, one {Eğitim} other {Eğitim}}

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

{count, plural, one {Eğitim} other {Eğitim}}

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör