GitHub Nedir? Yazılımcılar İçin Kapsamlı Başlangıç Rehberi
12 Ekim 2026
Yazar: Fatih Bilgehan Bektaş
● Yazılım Rehberi
GitHub Nedir? Yazılımcılar İçin Kapsamlı Başlangıç Rehberi
GitHub, modern yazılım dünyasının kalbi olarak kabul edilen, kod paylaşımı ve kolektif geliştirme odaklı dünyanın en büyük bulut tabanlı depolama platformudur. Geliştiricilerin projelerini versiyonlamasına, başkalarıyla iş birliği yapmasına ve açık kaynak dünyasına katkıda bulunmasına olanak tanıyan bu ekosistem, yazılım kariyerinin vazgeçilmez bir parçasıdır.
GitHub, temelinde Linus Torvalds tarafından geliştirilen 'Git' adlı versiyon kontrol sistemini barındıran, web tabanlı bir arayüz ve sosyal ağ özellikleriyle donatılmış bir platformdur. Yazılım projelerinin geçmişini kaydetmek, farklı özellikler üzerinde aynı anda çalışmak ve hataları geri almak gibi kritik süreçleri kolaylaştırır. Günümüzde sadece bir kod deposu değil, aynı zamanda yazılımcıların dijital portfolyosu ve özgeçmişi niteliğini taşımaktadır.
Bir projenin başlangıcından yayına alınmasına kadar geçen sürede yapılan her değişiklik GitHub üzerinde 'commit' edilerek kayıt altına alınır. Bu sayede, örneğin binlerce satırlık bir kod bloğunda yapılan tek bir hatalı işlemin hangi tarihte ve kimin tarafından yapıldığını saniyeler içinde tespit edebilirsiniz. Platform, bireysel geliştiricilerden Google ve Microsoft gibi teknoloji devlerine kadar geniş bir yelpazede standart haline gelmiştir.
Bu rehberde, GitHub'ın çalışma mantığını, Git ile olan temel farklarını ve platformun sunduğu iş birliği araçlarını en ince ayrıntısına kadar inceleyeceğiz. Teknik terimlerin karmaşıklığından uzaklaşarak, adım adım bir projenin nasıl yönetileceğini ve profesyonel bir GitHub profilinin nasıl oluşturulması gerektiğini somut örneklerle ele alacağız. Yazılım dünyasına yeni adım atanlar veya mevcut bilgilerini tazelemek isteyenler için bu yazı, pratik bir yol haritası sunacaktır.
Bölüm 01Git ve GitHub Arasındaki Kritik Farklar
Madde 01
Git Bir Motor, GitHub Bir Garajdır
Git, bilgisayarınızda yerel olarak çalışan ve dosyalarınızdaki değişiklikleri takip eden açık kaynaklı bir yazılımdır; GitHub ise bu Git depolarını (repository) internet üzerinde barındıran servistir. Git kullanmak için internete ihtiyacınız yoktur ancak GitHub, projelerinizi dünyaya açmanızı ve bulutta yedeklemenizi sağlar. Örneğin, Git ile kodunuzu bilgisayarınızda kaydedersiniz, GitHub ile bu kayıtları bir sunucuya 'push' ederek ekip arkadaşlarınızın erişimine sunarsınız.
Madde 02
Yerel Kontrol ve Uzaktan İş Birliği
Git komut satırı veya masaüstü uygulamaları üzerinden projenin geçmişini yönetmenize izin verirken, GitHub bu işlemlere görsel bir arayüz, takım yönetimi ve proje takip araçları ekler. Git'te sadece versiyonlama varken, GitHub'da 'Issue' açma, tartışma başlatma ve kod inceleme (Code Review) gibi sosyal özellikler bulunur. Kısacası Git tek kişilik bir orkestranın notaları gibidir, GitHub ise bu orkestrayı bir stadyumda senfoniye dönüştüren konser alanıdır.
Madde 03
Versiyon Kontrol Sistemi (VCS) Mantığı
Versiyon kontrolü, projenizin her anının fotoğrafını çekmek gibidir; eğer yeni eklediğiniz bir özellik tüm sistemi bozarsa, Git sayesinde projenizi 10 dakika önceki çalışan haline saniyeler içinde döndürebilirsiniz. GitHub bu süreci 'branching' yani dallanma yapısıyla destekler; ana kodunuza zarar vermeden yan bir dalda yeni özellikler dener, başarılı olursanız ana projeyle birleştirirsiniz. Bu disiplin, karmaşık projelerde kod kaybını veya üzerine yazma hatalarını %100 oranında önlemenin tek yoludur.
Repository, projenizin tüm dosyalarını, görsellerini, dokümanlarını ve en önemlisi projenin tüm değişim geçmişini içeren ana klasördür. Her projenin bir 'README.md' dosyası olmalıdır; bu dosya projenin ne işe yaradığını ve nasıl kurulacağını anlatan bir kılavuz görevi görür. Örneğin, bir web sitesi yapıyorsanız, tüm HTML ve CSS dosyalarınızın toplandığı bulut klasörü sizin repository'nizdir ve 'Public' (herkese açık) veya 'Private' (özel) olarak ayarlanabilir.
Madde 05
Commit ve Push İşlemleri
Yaptığınız her anlamlı kod değişikliğinden sonra bir 'commit' oluşturarak bu anı dondurursunuz; her commit'in mutlaka 'Header güncellendi' veya 'Login hatası giderildi' gibi açıklayıcı bir mesajı olmalıdır. Yerel bilgisayarınızda yaptığınız bu kayıtları GitHub sunucularına gönderme işlemine ise 'push' denir. Pratik bir adım olarak, her büyük fonksiyondan sonra commit atmak, geriye dönük hata ayıklama (debugging) sürecinizi ciddi şekilde kolaylaştıracaktır.
Madde 06
Fork ve Pull Request Mekanizması
Başka birinin projesini beğenip kendi hesabınıza kopyalamanıza 'Fork' denir; bu kopyada istediğiniz değişikliği yapıp asıl sahibine 'Yaptığım iyileştirmeleri projenize ekler misiniz?' deme işlemine ise 'Pull Request' (PR) denir. PR süreci, modern yazılım geliştirmede kodun kalitesini artıran en önemli adımdır çünkü ana projeye dahil edilmeden önce kodunuz başkaları tarafından incelenir. Bu sayede hatalı kodun üretim ortamına (production) sızması engellenmiş olur.
Bölüm 03Adım Adım GitHub Kullanım Rehberi
Madde 07
Profil ve Güvenlik Ayarları
Hesabınızı oluşturduktan sonra ilk yapmanız gereken işlem, bilgisayarınız ile GitHub arasında güvenli bir bağ kurmak için SSH anahtarı oluşturmaktır. Profilinize profesyonel bir fotoğraf ve yetkinliklerinizi içeren bir biyografi eklemek, iş başvurularında sizi öne çıkarır. Ayrıca, en iyi projelerinizi profilinizin en üstüne 'Pin'leyerek (sabitleyerek) ziyaretçilere ilk olarak en güçlü çalışmalarınızı gösterebilirsiniz.
Madde 08
İlk Deponuzu (Repo) Oluşturun
GitHub ana sayfasındaki 'New' butonuna basarak deponuza isim verin ve 'Initialize this repository with a README' seçeneğini işaretleyin. Deponuz oluşturulduğunda, terminalden 'git clone' komutunu kullanarak bu depoyu bilgisayarınıza indirebilirsiniz. İçine 'index.html' gibi basit bir dosya ekleyip 'git add .', 'git commit -m "İlk dosya"' ve 'git push' komutlarını sırasıyla girerek ilk bulut gönderiminizi tamamlayabilirsiniz.
Madde 09
.gitignore Dosyasının Kritik Önemi
Projenizde GitHub'a yüklenmemesi gereken şifreler, API anahtarları veya gereksiz sistem dosyaları (örneğin node_modules klasörü) bulunabilir. '.gitignore' isimli özel bir dosya oluşturarak içine yüklenmesini istemediğiniz dosya yollarını yazarsınız ve Git bu dosyaları görmezden gelir. Bu adımı atlamak, hassas verilerinizin (örneğin veritabanı şifrelerinizin) internete sızmasına ve güvenlik açıklarına yol açan en yaygın başlangıç hatasıdır.
Bölüm 04Ekip Çalışması ve Proje Yönetimi
Madde 10
Issues ile Hata ve Görev Takibi
GitHub 'Issues' bölümü, bir projedeki hataları bildirmek veya yeni özellik taleplerini listelemek için kullanılan bir yapılacaklar listesidir. Her göreve bir 'label' (etiket) atayabilir, öncelik sırasına koyabilir ve bir ekip arkadaşınıza atayabilirsiniz. Örneğin, 'Arayüzdeki renk hatası' başlıklı bir issue açıp bunu tasarımcıya atadığınızda, tüm süreç yazılı olarak kayıt altına alınmış ve karmaşa önlenmiş olur.
Madde 11
Project Boards ve Kanban Mantığı
GitHub Projects, Trello benzeri bir sürükle-bırak panosu sunarak projenin ilerleyişini görselleştirmenizi sağlar. 'Yapılacaklar', 'Devam Edenler' ve 'Tamamlananlar' sütunları oluşturarak iş akışınızı yönetebilirsiniz. Bu araç, özellikle birden fazla kişinin çalıştığı projelerde kimin neyle uğraştığını anlık olarak görmeyi ve darboğazları tespit etmeyi sağlar.
Madde 12
GitHub Actions ile Otomasyon (CI/CD)
Actions, kodunuzu her push ettiğinizde otomatik olarak belirli görevlerin (testlerin çalıştırılması, uygulamanın yayına alınması gibi) tetiklenmesini sağlar. Örneğin, kodunuzda bir hata varsa, Actions bunu otomatik testlerle fark eder ve ana projeye eklenmesini engeller. Bu 'Continuous Integration' (Sürekli Entegrasyon) süreci, profesyonel yazılım geliştirme standartlarının temel taşlarından biridir.
Bölüm 05Yaygın Hatalar ve Kaçınılması Gerekenler
Madde 13
Merge Conflict (Birleştirme Çatışması)
İki kişi aynı dosyanın aynı satırını farklı şekillerde değiştirip yüklemeye çalıştığında 'Merge Conflict' oluşur; bu bir hata değil, Git'in size 'Hangisi doğru?' diye sormasıdır. Çatışmayı çözmek için ilgili dosyayı açıp Git'in eklediği işaretleri temizlemeli ve doğru kod bloğunu seçmelisiniz. Bu durumdan kaçınmak için sık sık 'git pull' yaparak projenin güncel halini kendi bilgisayarınıza çekmeniz önerilir.
Madde 14
Anlamsız Commit Mesajları
Yeni başlayanların en çok yaptığı hata, mesaj kısmına 'abc', 'deneme' veya 'güncelleme' gibi belirsiz ifadeler yazmaktır. Aylar sonra bir hatayı ararken bu mesajlar hiçbir işe yaramayacaktır. Bunun yerine 'Kullanıcı kayıt formu validasyon hatası giderildi' gibi spesifik ve eylem belirten mesajlar yazmak, projenin okunabilirliğini ve bakımını %80 oranında kolaylaştıracaktır.
Madde 15
Lisans Seçimini Atlamak
Açık kaynak bir proje paylaşıyorsanız, projenizin başkaları tarafından nasıl kullanılabileceğini belirten bir lisans (MIT, Apache, GPL gibi) seçmelisiniz. Lisanssız bir proje teknik olarak 'tüm hakları saklıdır' statüsündedir ve başkalarının projeye katkıda bulunmasını veya kullanmasını hukuken zorlaştırabilir. GitHub depo oluştururken size tek tıkla bu lisansları ekleme imkanı sunar, bu imkanı mutlaka değerlendirin.
💡 Hızlı Başlangıç İpucu
GitHub'ı sadece bir depolama alanı olarak değil, öğrenme platformu olarak kullanın. İlgi duyduğunuz bir kütüphaneyi aratın, 'Star' vererek favorilerinize ekleyin ve 'Insights' sekmesinden projenin nasıl geliştirildiğini inceleyin. Kendi projeleriniz için her gün en az bir commit atarak profilinizdeki 'contribution graph' (katkı grafiği) alanını yeşillendirmek, sürekliliğinizi kanıtlayan en iyi göstergedir.
Sonuç
GitHub, bir yazılımcının dünyayla kurduğu köprüdür. Bu platformu etkili kullanmak, sadece kodunuzu yedeklemek değil, aynı zamanda küresel yazılım topluluğunun bir parçası olmak demektir. Temel komutları öğrenerek başlayın, küçük projelerinizi yükleyin ve hata yapmaktan korkmayın; çünkü GitHub'ın en büyük gücü hataları geri alabilme yeteneğidir. Şimdi ilk repository'nizi oluşturun ve açık kaynak dünyasına ilk adımınızı atın.
SSSSıkça Sorulan Sorular
GitHub tamamen ücretsiz mi?
GitHub, bireysel kullanıcılar için sınırsız sayıda kamuya açık (public) ve özel (private) depo oluşturma imkanını ücretsiz sunar. Ancak daha geniş ekip yönetim araçları, gelişmiş güvenlik özellikleri ve daha fazla otomasyon süresi (Actions dakikası) isteyen kurumsal yapılar için ücretli planlar mevcuttur.
GitHub kullanmak için mutlaka kodlama bilmek mi gerekir?
Genellikle kodlama projeleri için kullanılsa da, GitHub metin tabanlı her türlü dosya için uygundur. Yazarlar kitap taslaklarını yönetmek, veri bilimciler veri setlerini paylaşmak veya tasarımcılar dökümantasyon hazırlamak için de platformu aktif olarak kullanabilirler.
Özel (Private) bir depo oluşturduğumda kodlarımı kimse görebilir mi?
Hayır, 'Private' olarak işaretlediğiniz bir repository'deki kodlara sadece siz ve sizin yetki verdiğiniz (collaborator) kişiler erişebilir. Bu özellik, ticari sırlar veya henüz tamamlanmamış projeler için idealdir.
GitHub Masaüstü (Desktop) uygulaması terminalin yerini tutar mı?
GitHub Desktop, yeni başlayanlar için birçok karmaşık Git işlemini görselleştirerek kolaylaştırır ancak profesyonel seviyede hız kazanmak ve tüm detaylara hakim olmak için terminal (komut satırı) kullanımını öğrenmek uzun vadede daha avantajlıdır.
Profilimdeki yeşil kutucuklar (Contribution) neden önemli?
Bu kutucuklar, sizin ne kadar düzenli çalıştığınızı ve platformda ne kadar aktif olduğunuzu gösterir. İşe alım uzmanları (Recruiters), bir adayın kodlama disiplinini ve projelerine ne sıklıkla vakit ayırdığını anlamak için genellikle bu grafiğe göz atarlar.