Github Nedir, Nasıl Kullanılır? Github Hakkında Her Şey

11 Mart 2025

10 dk Okuma

Bu yazıda GitHub nedir ne işe yarar konularına değineceğiz. Öncelikle GitHub kelimesinin anlamını inceleyelim. GitHub ne demek? Git dağınık çalışan bir versiyon kontrol sistemidir Hub ise ağlarda merkezi bağlantıyı sağlayan bir cihazdır. GitHub’ın geliştiricilere sağladığı araçları göz önünde bulundurarak tanımına kod kütüphanesi ya da kod deposu diyebiliriz. Şimdi ortaya çıkış sürecini inceleyelim. 2005 yılında Git, Linux’ü sürdürmek için tasarlanan bir sistemdi. Bu sistem Linus Torvalds tarafından geliştirildi. Git kullanıcıların geliştirdiği kaynak kodlarındaki değişiklikleri kontrol etmesi ve hata izlemeyi kolaylaştırması gibi özellikleri sayesinde geliştiricilerin işlerini kolaylaştırıyordu. 2008 yılına gelindiğinde ise GitHub yayınlandı. GitHub’ı yayınlayan isimler ise Tom Preston-Werner, Chris Wanstrath, P. J. Hyett, ve Scott Chacon’dır. Yayınlandıktan sonra basit ve açık kaynaklı bir platform olması sayesinde yazılımcılar arasında kısa sürede popülerleşti. Sonrasında Google gibi itibarı yüksek büyük şirketler de GitHub kullanmaya başladı. Halihazırda bireysel kullanıcılar tarafından da yoğun bir şekilde kullanılan GitHub’ın büyümesi ivme kazandı. 2018 yılına gelindiğinde ise Microsoft GitHub’ı satın aldı. Açık kaynaklı bir teknoloji olan GitHub’ı geliştiriciler için daha da cazip bir platform haline getirdiler. GitHub’ın satılmasından sonra kullanıcılarım açık kaynaklı kalıp kalmayacağı hakkında şüpheleri vardı ancak Microsoft onu açık kaynaklı olarak geliştirmeye devam etti. GitHub kısa sürede daha fazla büyüdü. Kendi ekosistemleri ile entegrasyonlar geliştirdiler. Azure bu ekosistemin üyelerinden bir tanesidir. Sonrasında GitHub Actions geliştirildi. GitHub Actions geliştiricilerin kendi kod depolarında otomatik çalışabilen bir dizi eylem tanımladı ve tekrarlayan iş süreçlerini azalttı. Kodda yapılan değişikliğe göre testler çalıştırmak, testleri geçen yeni kodların otomatik olarak dağıtılması ve koddan otomatik dökümasyon oluşturma bu eylemlere örnek olarak verilebilir. 2021 yılına gelindiğinde ise GitHub Copilot teknik önizleme olarak tanıtıldı. Tanıtımının ardından JetBrains pazarında yayınlandı. GitHub Copilot yapay zekayı kullanan bir kod geliştirme aracıdır. Yayınlandığı günden bugüne yazılım geliştiricilerin işlerini büyük ölçüde kolaylaştırdı. Özellikleri arasında yazılmış kodları algılayıp devamı için öneriler ve tamamlamalar sunma, yorumları fonksiyonlara dönüştürme ve çoklu dil desteği vardır. Çoklu dil desteği JavaScript, C# ve Python gibi birçok dili destekler. GitHub Copilot entegrasyonuna çeşitli geliştirme ortamları vardır. Bunlar Azure Data Studio, JetBrains IDE’leri, Vim/Neovim, Visual Studio, Visual Studio Code ve Xcode’dur.

Github Nedir?

GitHub nedir? GitHub yazılım geliştiriciler tarafından kullanılan bir platformdur. 2005 yılında yayınlanan Git’in özelliklerini geliştirip yazılımcıların ihtiyaçlarını karşılamaya yönelik hedeflerle tasarlanmıştır. Kodların depolandığı bir depodur. Geliştiriciler kodlarını bu depoya koyarak sadece kendilerine görünür bir şekilde depolayabildikleri gibi başkalarına görünür bir biçimde paylaşmayı da seçebilirler. GitHub yazılım geliştiricilerin bireysel olarak kodlarını yönettebilmesini mümkün kılan bir ortamdır. Ekip olarak çalışanlar için de çeşitli araçlarla hem iletişimi hem de beraber kod yazmayı kolaylaştırır. GitHub ne işe yarar? GitHub’ın işlevi kod depolanması, yönetimi ve paylaşımı etrafında şekillenir. Bir yazılımcıysanız GitHub kullanmanız için birçok sebep vardır. Geliştirdiğiniz projelerdeki değişiklikleri yani projenizin sürümlerini kontrol edebilir değişen kod parçalarının değiştirilmeden önceki hallerine de ulaşabilirsiniz. GitHub’ın sahip olduğu topluluktaki diğer geliştiricilerle beraber tek bir projede çalışmanız da mümkündür. Başkalarının kodlarına geri bildirimde bulunurken kendi kodlarınız hakkında da geri bildirim alabilirsiniz. Açık kaynak projelere katkıda bulunarak yeni deneyimler kazanabilirsiniz. Sahip olduğunuz hesabı yani profilinizi bir Cv gibi yeteneklerinizi sergileyebilirsiniz. İşverenleri yetkinliklerinize paylaştığınız kodları inceleyerek ikna olmasını sağlayabilirsiniz. Çoğu zaman yeteneklerinizi yazdığınız bir Cv’den daha iyi iş çıkarır.

Github Kavramları ve Özellikleri

Yazının bu kısmında da GitHub’da bulunan kavramlara ve özelliklere daha yakından bakalım. GitHub’da bahsedeceğimiz ilk kavram sürüm kontrolüdür. Sürüm kontrolü GitHub ortamına yüklenen projelerdeki değişiklikleri takip edebilmemizi sağlar. Eski sürümlerdeki kodlara da erişebildiğiniz için hata ayıklama daha basit bir hale gelir. Repository ise bir proje hakkındaki tüm kodları ve değişimleri depolayabileceğiniz bir yerdir. Repositoryler herkese açık yani Public ya da sadece siz ve izin verdiğiniz kişilere açık yani Private olabilir. Birden fazla yazılım geliştirici aynı anda bir Repository üzerinde çalışabilir. Bunu yaparken kodda hatalara neden olmamak için de Branchlerden yararlanabilirsiniz. Branch kelimesinin türkçede dal olarak çevrilir. Buradaki mantık ana kodu tamamen değiştirmeden geliştirme yapmak ve yazılan yeni kodları test ettikten sonra onları ana dal ile birleştirebilmektir. Takım projelerinde özellikle bir geliştiricinin yazdığı kod aynı projede bir başka geliştiricinin yazdığı kodda hata çıkmasına neden olabilir. Bu durumdan kaçınmak için de herkes kendi Branchinde çalışır. Belirli aralıklarla da yazılan kodlar kontrol edilir ve sonrasında Mergelenir. Merge kavramı ise tahmin edebileceğiniz gibi birleştirme ile ilgilidir. Branch yani dallarınız birleştirilmek üzere ana dala gönderirken de Commit atarsınız. Commit geçmişi herhangi biri tarafından kod üzerinde yapılan değişiklikleri önceki ve sonraki hallerini kıyaslayarak görmenizi sağlar. Commit atarken yorumlar üzerinden ekip arkadaşlarınızla konuşabilirsiniz. Commit üzerinde çalışılan kodların ana kod ile birleştirilmesi için istek atmaktır. Pull Request adımında kodları gözden geçirerek ortaya çıkan Conflict yani kod çatışmalarını da görerek çözebilirsiniz. Bu durum kod kalitesi üzerinde olumlu bir etkiye sahiptir. Kod birleştirme izni birden fazla kişiye tanımlanabilir ve bu durumda ekip arkadaşları da başkasının kodları üzerinde yetkiye sahip olabilir. Issues ise üzerinde çalışılan projedeki hata ya da görev gibi şeyleri takip etmemize yarayan bir özelliktir. Projede birden fazla görev ya da hata varsa bunları ayrı ayrı Issue olarak görürsünüz. İlerleme durumu hakkında daha net bilgi sahibi olursunuz. Daha iyi organize etmek istediğinizde ise enhancement, feature ve bug gibi etiketler koyarak hem geliştiriciler hem de takım lideri için işleri daha kolay hale getirebilirsiniz. Commit de olduğu gibi Issuesda da fikir alışverişi yapılabilir. GitHub Flavored Markdown ise yorum atarken ya da Issue atarken HTML öğelerini kullanabileceğiniz bir özelliktir. Kullanıcıların birbirleriyle iletişimini kolaylaştırmak için kullanabileceğiniz bir sürü öğeyi de içinde barındırır. GitHub Actions ise bilinmesi gereken bir diğer önemli özelliktir. GitHub Actions bir CI/CD aracıdır. Sürekli entegrasyon ve sürekli dağıtımla tekrarlayan görevleri otomatize etmemize yardımcı olur. Otomasyon sayesinde zamandan tasarruf sağlanır. GitHub Actions, GitHub’ın bütün araçlarıyla entegredir. Nasıl çalıştığını örneklendirmek gerekirse GitHub Actions çalışırken kodda bir değişiklik yaşanır. Bu değişikliği ortaya çıkaran şey Pull Request olabilir. Sonrasında bir iş akışı başlar. Sonrasında da yapılması gereken işler daha küçük alt birimlere ayrılır. Koddaki değişiklikler otomatik testlerden geçer. En son adımda ise farklı ortamlara dağıtılır ve yine koddan otomatik şekilde bir dökümantasyon hazırlanır. Fork’ta ise başka bir kullanıcının projesini kopyaladıktan sonra çeşitli değişiklikler önerebilirsiniz. Önerdiğiniz değişikliklerle projelere katkıda bulunup kodlama yeteneklerinizi daha da üst düzeye çıkarabilirsiniz.

Github Nasıl Kullanılır?

İyi bir yazılımcı olmak istiyorsanız GitHub’ı da iyi kullanabilmeniz gerekir. GitHub kullanımı sadece iş hayatında değil bireysel öğrenme süreçlerinde de iyi bilinmesi gereken bir şeydir. Hangi alan olduğundan bağımsız herhangi bir yazılım kursu bünyesinde eğitim almayı düşünüyorsanız sadece ödevlerinizi iletmek için bile GitHub kullanmanız çok muhtemel. Yazının bu kısmında GitHub nasıl kullanılır sorusuna başlangıç seviyesindeki kişiler tüm adımlardan tek tek bahsedeceğim. Başlarken Git’i indirmeniz gerekiyor. Git’i kurduktan sonra GitHub sitesine giderek bir hesap oluşturun. Hesabınızı oluşturduktan sonra bir IDE yani geliştirme ortamı seçin. En popüler geliştirme ortamlarından VS Code yani Visual Studio Code’u seçtiğinizi farz edelim. İşletim sisteminize uygun olan sürümü seçin. Kurulum işlemi tamamlandıktan sonra Extensions kısmına gidin ve GitHub uzantısını yükleyin. Sonrasında terminali açın ve Git’i yapılandırın. Bu adıma geldiğinizde kurulumu tamamlamış olacaksınız. İlk projenizin temellerini atmak için artık hazırsınız. GitHub’a gidin. Orda yeni bir Repository oluşturun. GitHub ve IDE’nin entegre çalışması için oluşturduğunuz Repositoryyi bilgisayarınıza klonlayın. Bunu yapmak için de Repositorynizin HTTP bağlantısını kopyalayın ve git clone komutu ile çalıştırın. Artık klonladığınız dosya bilgisayarınızda da bulunuyor. VS Code’da bu dosyayı açın. Dosyanıza projenizin kodlarını yazın. Her şeyi kaydettikten sonra da sırasıyla git add ., git commit -m "{mesajınız}" ve sonrasında git push origin main komutu ile GitHub’a kodlarınızı yükleyin. Bu adımları kavradıktan sonra temel manada GitHub kullanımını öğrenmiş olacaksınız.

Github’ın Avantajları Nelerdir?

GitHub'ın yazılım geliştiriciler için birçok avantajı vardır. Zaten tasarlanma amacı da temelde yazılım geliştiricilerin işlerini kolaylaştırmaktır. Bugün GitHub’ı popüler yapan şey bunu başarabiliyor olmasıdır. Peki GitHub hangi özellikleriyle geliştiricilerin işlerini kolaylaştırıyor? İlk özelliği versiyon kontrolüdür. Versiyon kontrolü sayesinde yaptığınız değişiklikleri ve hataları geri almak ya da nerde hata olduğunu tespit etmek basitleşir. Tek tıkla eski sürümünüze dönebilirsiniz. GitHub’ın sağladığı avantajlardan bir diğeri de mükemmel bir ortak çalışma alanı olmasıdır. Daha önceden de incelediğimiz Pull Request, Issues ve Discussionlar ile ekip içindeki iletişimi iş süreçlerinde zirveye taşıyabilirsiniz. Herhangi bir PR isteği geldiğinde ekip üyeleri ile gözden geçirip sonrasında ana kodunuza entegre edebilirsiniz. GitHub’ın sahip olduğu bir başka önemli avantaj da kod paylaşımını mümkün hale getirmesidir. Frontend eğitimi alan bir geliştirici olduğunuzu düşünelim. Başta Framework ve dillere alışmanız için gerçek hayatta denenmiş çalışan kodları görmeniz ve onlardan birtakım şeyler öğrenmeniz gerekir. GitHub’da bulunan kod paylaşımı özelliği ile sizden daha yetkin kişilerin kodlarını görebilirsiniz. O insanlara ulaşıp onlardan öğrenebilirsiniz.

Github İpuçları

GitHub’ı yeni kullanmaya başladıysanız temel git komutlarını öğrendiğinizden emin olun. Bu komutlar sizin gün içinde defalarca kullanacağınız komutlar olduğu için bu adım oldukça önemlidir. Sonrasında basit projeler oluşturun ve yükleyin. Sadece birazcık HTML ve CSS Framework’leri ile kendinize bir sayfa yapın. Peki Framework nedir? Framework yazılım geliştirme süreçlerini optimize eden hazır çerçevelerdir. Bu çerçeveleri kullanarak yaptığınız projenizi GitHub’a yüklerken sanki bir ekip ile çalışıyormuş gibi tüm GitHub komutlarını kullanmaya özen göstererek kendinizi geliştirin. Yani GitHub’ı iyi bir şekilde kullanabilmek için onu gerçekten kullanın. Ezberleyerek değil belirli amaçlarla işlemler yaparak GitHub kullanımında ilerleyebilirsiniz.

Kaynakça

Hicar, S. (2024, Ekim 29). GitHub | Features, History, & Facts. Encyclopedia Britannica. https://www.britannica.com/technology/GitHub Vikipedi. (2024, Eylül 26). GitHub. https://tr.wikipedia.org/wiki/GitHub#:~:text=GitHub%2C%20s%C3%BCr%C3%BCm%20kontrol%20sistemi%20olarak,Hyett%2C%20Scott%20Chacon%20taraf%C4%B1ndan%20kuruldu .