Rehber

GitHub Desktop: nasıl indirilir, kurulur ve komut satırı olmadan Git nasıl kullanılır

Güncellendi: · Skillaria.Top

GitHub Desktop, GitHub'ın Windows ve macOS için ücretsiz uygulamasıdır; Git'in temel işlemlerini düğmelerle yapar: clone, commit, push, pull, dal, birleştirme ve çakışma çözme. Resmi siteden desktop.github.com adresinden indirilir; kurulumdan sonra GitHub hesabınıza giriş yapıp bir repository'yi klonlamanız yeterlidir.

GitHub Desktop nedir

GitHub Desktop, GitHub'ın Windows ve macOS için yayımladığı, açık kaynaklı ve ücretsiz bir uygulamadır. Değişen dosyaları, commit geçmişini ve dalları bir pencerede gösterir ve Git'in temel komutlarını tek tıklamayla çalıştırır. Uygulamanın içinde Git'in kendi kopyası bulunduğu için ayrıca Git kurmanız gerekmez.

«Github desktop nedir» sorusuna kısaca yanıt verirsek: GitHub'a odaklanmış bir Git grafik istemcisidir. Repository'lerinizi tek tıkla klonlamanızı, pull request oluşturmanızı ve kontrol durumlarını görmenizi sağlar. Ancak GitLab veya kendi sunucunuz gibi HTTPS üzerinden erişilebilen herhangi bir uzak repository ile de çalışır.

GitHub Desktop yeni başlayanlar, tasarımcılar, teknik yazarlar ve «değiştir, commit et, gönder» döngüsünü sade bir şekilde görmek isteyen herkes için uygundur. Deneyimli geliştiriciler diff'leri net görmek ve yalnızca bazı satırları commit etmek için kullanır; karmaşık işlemleri ise terminalde yaparlar.

GitHub Desktop nasıl indirilir

Resmi indirme adresi desktop.github.com'dur. Site sisteminizi kendisi algılar ve Windows için kurulum dosyasını ya da macOS için arşivi sunar. Programı yalnızca buradan veya GitHub'daki desktop/desktop repository'sinin release sayfasından indirin: üçüncü taraf sitelerdeki «github desktop ücretsiz indir» paketleri her şeyi içerebilir.

Linux için resmi bir sürüm yoktur. Topluluk tarafından sürdürülen bir fork (shiftkey/desktop deposu) .deb, .rpm ve AppImage paketleri sunar, ama bu resmi olmayan bir derlemedir. Linux'ta işlerinizi terminalde veya editörünüzdeki Git istemcisiyle yapmanız daha uygun olur.

Windows'a kurulum

  1. İndirdiğiniz GitHubDesktopSetup dosyasını çalıştırın.
  2. Kurulum sihirbazı bir şey sormaz: uygulama geçerli kullanıcının profiline kurulur ve hemen açılır.
  3. Yönetici hakları gerekmez; güncellemeler uygulama tarafından otomatik indirilir.

Kurumsal bilgisayarlar için ayrı bir MSI kurulum paketi de vardır; GitHub Desktop dokümantasyonunda bulabilirsiniz.

macOS'a kurulum

  1. İndirdiğiniz zip arşivini açın.
  2. GitHub Desktop'ı «Uygulamalar» (Applications) klasörüne sürükleyin.
  3. Uygulamayı başlatın ve internetten indirilen programın açılmasını onaylayın.

Intel ve Apple Silicon işlemciler için ayrı derlemeler vardır; site genellikle doğru olanı kendisi önerir. Homebrew ile de kurabilirsiniz:

brew install --cask github

Hesaba giriş ve ilk ayarlar

GitHub Desktop ilk açıldığında GitHub.com'a giriş yapmanızı ister. Giriş düğmesine basın; tarayıcı açılır ve uygulamanın hesabınıza erişmesini onaylarsınız. Parolanızı uygulamaya girmeniz gerekmez; iki faktörlü doğrulama da tarayıcıda normal şekilde tamamlanır. Kurumsal GitHub Enterprise sunucusu için ayrı bir giriş yöntemi bulunur.

Ardından uygulama Git'i yapılandırmanızı ister: her commit'e yazılacak ad ve e-posta. Bunlar git config --global ile ayarlanan user.name ve user.email değerleridir; Git daha önce yapılandırılmışsa bilgiler otomatik dolar. Commit'lerin GitHub profilinize bağlanması için hesabınıza eklenmiş e-postayı ya da ID+kullanıcıadı@users.noreply.github.com biçimindeki hizmet adresini kullanın.

Bu ayarları sonradan değiştirmek için Windows'ta File → Options, macOS'ta GitHub Desktop → Settings menüsüne gidin. Aynı yerden uygulamadan açılacak harici editörü (örneğin VS Code) ve terminali, ayrıca tema seçimini yapabilirsiniz.

Repository klonlama

Klonlamak, uzak repository'nin tüm geçmişiyle birlikte bir kopyasını indirmek demektir. GitHub Desktop'ta bunun için File → Clone repository menüsü vardır. Pencerede üç sekme bulunur: GitHub.com'daki repository'leriniz, GitHub Enterprise repository'leri ve herhangi bir adres yapıştırabileceğiniz URL sekmesi (GitLab adresleri dahil).

  1. Listeden bir repository seçin veya URL'yi yapıştırın.
  2. Yerel klasörü belirtin (Local path).
  3. Clone düğmesine basın ve indirmenin bitmesini bekleyin.

Aynı işlemi git clone komutu yapar. GitHub'daki repository sayfasında Code düğmesinin menüsünde Open with GitHub Desktop seçeneği vardır: uygulamayı adres doldurulmuş halde açar. Yazma yetkiniz olmayan bir repository'yi klonladıysanız, değişikliklerinizi göndermeye çalıştığınızda uygulama bir fork oluşturmanızı önerir.

Mevcut bir Git projesi klasörünü File → Add local repository ile ekleyebilirsiniz; yeni bir repository için File → New repository kullanın: hemen bir .gitignore şablonu, lisans seçebilir ve README oluşturabilirsiniz.

GitHub Desktop'ta commit nasıl yapılır

Soldaki Changes sekmesinde değişen tüm dosyalar listelenir; sağda seçili dosyanın diff'i görünür: silinen satırlar kırmızı, eklenenler yeşil. Dosyanın yanındaki kutu, dosyanın commit'e girip girmeyeceğini belirler. Bu, hazırlama alanının (staging area) ve git add komutunun karşılığıdır.

  1. Commit'lemek istemediğiniz dosyaların işaretini kaldırın.
  2. Gerekirse diff içindeki tek tek satırlara tıklayarak onları dışarıda bırakın: bu, git add -p gibi kısmi commit demektir.
  3. Alttaki Summary alanına kısa bir açıklama, isterseniz Description alanına ayrıntıları yazın.
  4. Commit to <dal adı> düğmesine basın.

Commit yalnızca yerel olarak oluşturulur; henüz sunucuya gitmez. Git desktop commit işlemini küçük ve anlamlı parçalar halinde yapmak kolaydır, çünkü her commit'e neyin girdiği açıkça görünür. Commit'te bir hata yaptıysanız, commit'in hemen ardından alt kısımda Undo düğmesi çıkar: son commit'i geri alır ve değişiklikleri çalışma klasörüne geri koyar. Bu, commit gönderilmediği sürece mümkündür.

Repository'ye girmesi istenmeyen dosyaları dosyanın bağlam menüsünden dışlayabilirsiniz: yoksayma seçeneği dosyayı .gitignore dosyasına ekler. Commit edilmemiş değişiklikleri geri almak için aynı menüde Discard changes vardır: değişiklikler silinir (Windows ve macOS'ta sistem çöp kutusuna gider). Yine de bu işlemi geri alınamaz kabul etmek daha güvenlidir.

Push, pull ve fetch: sunucuyla senkronizasyon

Üst paneldeki ana düğme duruma göre adını değiştirir. git desktop push ve git desktop pull işlemlerinin tek tıkla yapıldığı yer burasıdır.

Düğme üzerindeki yazıNe olurGit komutu
Publish repositoryyerel repository henüz GitHub'da değil: oluştur ve gönderremote oluşturma + git push -u
Publish branchdal yalnızca yerelde vargit push -u origin dal
Fetch originsunucuda yeni commit var mı diye kontrol etgit fetch
Pull originsunucuda yeni commit'ler var, algit pull
Push originyerel commit'ler var, göndergit push

Yazının yanında yukarı ve aşağı oklu bir commit sayısı görünür: kaç commit göndermeniz, kaç commit almanız gerektiğini gösterir. Uygulama arka planda periyodik olarak fetch yapar, bu yüzden ekip arkadaşlarınız bir şey gönderdiğinde Pull düğmesi kendiliğinden çıkar.

Dal sunucudan ayrıldıysa, yani hem sizin hem de sunucunun yeni commit'leri varsa push reddedilir. Önce Pull origin yapın: Git değişiklikleri birleştirir, değişiklikler çakışırsa bir çakışma oluşur. Geçmişi yeniden yazan force push işlemi yalnızca gönderilmiş commit'leri değiştiren bir işlemden (örneğin rebase) sonra önerilir.

Dallar: oluşturma, geçiş ve checkout

Dallar, üst paneldeki Current branch açılır menüsünden yönetilir. Burada yerel ve uzak dalların listesi, arama kutusu ve New branch düğmesi bulunur. Listeden bir dal seçmek git desktop checkout işlemidir: uygulama çalışma klasörünü o dala geçirir. Yerelde henüz olmayan bir uzak dalı seçmeniz yeterlidir; izlemeli bir yerel dal oluşturulur.

Yeni bir dal mevcut dalınızdan ya da varsayılan dal üzerinden oluşturulur; seçenek varsa uygulama sorar. Dal oluşturulduktan sonra yalnızca sizin bilgisayarınızda bulunur, bu yüzden üst düğme Publish branch olarak değişir. Dalı yeniden adlandırma ve silme işlemleri Branch menüsünde ya da listedeki dalın bağlam menüsünde bulunur; silerken dalın sunucudan da silinmesini seçebilirsiniz.

Dalınızdaki iş hazır olduğunda Branch menüsünde Create pull request seçeneği vardır: tarayıcıda GitHub'daki pull request oluşturma sayfası açılır. İnceleme ve birleştirme süreci sitede devam eder.

GitHub Desktop'ta merge ve rebase

Başka bir dalı mevcut dalınıza birleştirmek için Current branch menüsünden Choose a branch to merge into <dal> seçeneğini kullanın (aynı seçenek Branch menüsünde de bulunur). Uygulama, kaç commit'in birleştirileceğini ve çakışma olup olmayacağını önceden gösterir. Git desktop merge işlemi böyle yapılır: bu, normal bir git merge işlemidir.

Aynı menüde, dalın tüm commit'lerini tek commit'te sıkıştıran Squash and merge ve commit'lerinizi seçilen dalın üzerine taşıyan Rebase current branch bulunur. Git desktop rebase işlemi commit'lerinizi seçtiğiniz dalın üstüne yerleştirir. Zaten gönderilmiş bir dalı rebase ettikten sonra sunucudaki ve yerel geçmiş ayrışır, Push düğmesi Force push origin olarak değişir. Bunu yalnızca başka kimsenin çalışmadığı kendi dalınızda yapın.

History sekmesinde commit'leri sürükleyebilirsiniz: başka bir dala bırakmak (bu cherry-pick'tir), birbirinin üstüne bırakmak (squash) ya da sırasını değiştirmek mümkündür. Tüm eylemleri içeren interaktif rebase bu arayüzde yoktur; bunun için terminalde git rebase -i gerekir.

Birleştirme çakışmaları

Aynı satırlar iki dalda da değiştirilmişse, merge, pull veya rebase sırasında çakışan dosyaların listelendiği bir pencere açılır. Her dosya için dosyayı harici editörde açabilir ya da iki sürümden birini, yani kendi sürümünüzü veya gelen sürümü, tamamen seçebilirsiniz.

Editörde çakışma standart biçimde görünür:

<<<<<<< HEAD
const limit = 20;
=======
const limit = 50;
>>>>>>> feature/pagination

Doğru olanı bırakın, işaretçileri silin ve dosyayı kaydedin. Tüm dosyalardaki işaretçiler kalktığında GitHub Desktop bunları çözüldü olarak işaretler ve birleştirmeyi tamamlama düğmesini etkinleştirir: bu düğme bir merge commit'i oluşturur. Bir şeyler ters giderse aynı penceredeki iptal düğmesi işlemi durdurur; bu, git merge --abort komutunun karşılığıdır.

GitHub Desktop'ta git stash

Ana pencerede «stash» adında bir düğme yoktur, ama mekanizma vardır. Commit edilmemiş değişiklikleriniz varken başka bir dala geçtiğinizde uygulama bunlarla ne yapmak istediğinizi sorar: mevcut dalda bırakmak ya da yeni dala taşımak. «Bırak» seçeneği değişiklikleri stash'e gizler: GitHub Desktop'ta git stash böyle çalışır.

Değişiklikleri elle gizlemek için değişiklik listesinin bağlam menüsündeki Stash all changes seçeneğini kullanabilirsiniz. Dala döndüğünüzde Changes sekmesinin altında Stashed changes satırını görürsünüz: gizlenen dosyaları burada inceleyebilir, geri yükleyebilir (Restore) ya da silebilirsiniz.

Sınırlama: GitHub Desktop dal başına yalnızca bir stash tutar. Birden fazla kayda ihtiyacınız varsa belirli bir kaydı seçerek git stash pop ya da git stash apply stash@{1} komutlarını terminalde kullanın; uygulama terminali Repository menüsünden doğru klasörde açar.

GitHub Desktop'ta Git LFS

Git LFS, büyük ikili dosyaları (video, PSD, model dosyaları) ayrı bir sunucuda saklar; repository'de yalnızca işaretçiler kalır. GitHub Desktop LFS'i destekler: LFS kullanan bir repository'yi klonladığınızda veya açtığınızda Git LFS'i başlatmayı önerir, ardından büyük dosyaları otomatik indirir ve gönderir.

Ancak hangi dosyaların LFS ile izleneceğini arayüzden belirleyemezsiniz. Bu işlem bir kez terminalde yapılır; sonrasında git lfs in GitHub Desktop şeffaf biçimde çalışır:

git lfs install
git lfs track "*.psd"
git add .gitattributes
git commit -m "PSD dosyalarını Git LFS ile izle"

Kotaları unutmayın: ücretsiz GitHub hesaplarında LFS depolama alanı ve trafik sınırlıdır; güncel limitleri hesabınızın faturalandırma ayarlarından kontrol edin.

Reset, revert ve geçmiş

History sekmesi, mevcut dalın commit'lerini ve her birinin değişikliklerini gösterir. Bir commit'in bağlam menüsünde şunlar bulunur:

  • Revert changes in commit — seçilen commit'i geri alan yeni bir commit oluşturur. Zaten gönderilmiş commit'ler için bile güvenlidir.
  • Create branch from commit ve Create tag — geçmişteki herhangi bir noktadan dal veya etiket oluşturur.
  • Amend commit — son commit için: mesajı düzeltmek veya dosya eklemek.
  • Reset to commit — uygulamanın yeni sürümlerinde: dalı seçilen commit'e geri alır, değişiklikleri çalışma klasöründe tutar; git reset --mixed gibi.

Arayüzde değişiklikleri kalıcı olarak silen git desktop reset seçeneği (git reset --hard) yoktur; bu bilerek yapılmıştır, yeni başlayanların işini kaybetmesini önlemek için. Gerekirse terminali kullanın; kaybolan commit'leri git reflog ile bulabilirsiniz.

Komut satırının daha uygun olduğu durumlar

GitHub Desktop günlük iş döngüsünü karşılar, ancak birçok işlem yoktur veya zahmetlidir:

  • tüm eylemleriyle interaktif rebase, git bisect, git reflog, git worktree;
  • birden fazla stash kaydı, alt modüller, remote'ların ince ayarı;
  • SSH ile sunucuda çalışma ve betik ya da CI içinde otomasyon;
  • resmi sürümü olmayan Linux.

Ayrıca iş görüşmelerinde doğrudan komutlar sorulur ve fetch, merge ile rebase'in ne yaptığını bilmek grafik arayüzde de yardımcı olur. Pratik yaklaşım, komut satırını iyi bilmek ve uygulamayı zaman kazandırdığı yerlerde kullanmaktır: diff'leri incelemek, kısmi commit yapmak ve çakışmaları çözmek için. GitHub Desktop'tan terminal, Repository menüsü üzerinden doğrudan proje klasöründe açılır.

Sonuç

GitHub Desktop, Windows ve macOS'ta Git ile çalışmanın basit ve ücretsiz bir yoludur: desktop.github.com'dan indirin, hesabınıza girin, bir repository'yi klonlayın; commit, push, pull, dal ve çakışmalar düğmelerle yapılır. Stash, LFS ve reset konusunda imkânlar sınırlıdır, karmaşık işlemler ise terminalde kalır. Uzak repository'ler, push, pull ve pull request ile ekip çalışması Git kursunda uygulamalı olarak ele alınmaktadır.

Sık sorulan sorular

GitHub Desktop ücretsiz mi?

Evet, uygulama tamamen ücretsizdir ve açık kaynak olarak dağıtılır; isterseniz yalnızca GitHub'ın ücretli planları için ödeme yaparsınız.

GitHub Desktop için Git'i ayrıca kurmam gerekir mi?

Hayır, uygulamanın içinde kendi Git sürümü bulunur. Ancak terminalde de çalışmak isterseniz Git'i sisteminize ayrıca kurun.

GitHub Desktop'ı GitLab veya Bitbucket ile kullanabilir miyim?

Evet, URL sekmesinden repository'yi HTTPS adresiyle klonlayabilirsiniz. Pull request entegrasyonu ve hesapla giriş yalnızca GitHub için çalışır.

GitHub Desktop Türkçe dilinde mi?

Resmi arayüz İngilizce'dir. Düğme adları kısadır ve Git komutlarına karşılık gelir, bu yüzden kullanımı kolaydır.

GitHub Desktop bir dosyadaki değişiklikleri neden görmüyor?

Çoğunlukla dosya .gitignore içindeki bir kurala takılmıştır ya da farklı bir repository klasörü açıktır. Repository menüsündeki yolu ve .gitignore içeriğini kontrol edin.

Bu konuyu videoyla öğrenin

Bu konu “Sıfırdan Güvenilir Geliştiriciye Git” kursunda uygulamalı olarak ayrıntılı işleniyor.

Kursa git