GitHub Nedir ? 2023
Github Nedir?
GitHub Nedir ve Ne İşe Yarar?
GitHub, web tabanlı bir sürüm kontrol sistemi ve kod deposu platformudur. Kod ve proje geliştirme süreçleri sırasında, GitHub kullanıcılarının kodlarını, projelerini ve diğer dosyalarını paylaşmasına, katkıda bulunmasına ve yönetmesine olanak tanır. Aynı zamanda, kullanıcılar diğer projelere katkıda bulunabilir, yorumlar yapabilir ve sorunları iletebilir.
GitHub aynı zamanda bir kollaborasyon platformudur ve kullanıcılar birbirleriyle etkileşim kurabilir ve aynı projeyi geliştirmeye çalışabilir. GitHub, açık kaynak projelerinin yönetimi ve paylaşılması gibi birçok fonksiyona sahiptir ve kod yazarları, tasarımcılar, yazılım mühendisleri ve diğer profesyoneller tarafından sıklıkla kullanılır.
Versiyon Kontrol Sistemi Nedir?
Versiyon kontrol sistemi, bir dosyanın veya projenin tarihçesini tutan ve değişikliklerin izlenmesine olanak tanıyan bir yazılım sistemidir. Bu sistem sayesinde, kullanıcılar, dosya veya projelerinin eski sürümlerine geri dönebilir veya değişiklikleri takip edebilirler.
Ayrıca, birden fazla kullanıcının aynı dosya veya projede çalışmasını ve bu çalışmaların birleştirilmesini sağlar. En yaygın versiyon kontrol sistemleri arasında Git, Subversion (SVN), Mercurial ve CVS gibi sistemler bulunmaktadır.

Github Ne Zaman Ortaya Çıktı?
GitHub, 28 Şubat 2008 tarihinde ortaya çıktı. Chris Wanstrath, PJ Hyett ve Tom Preston-Werner tarafından kurulan GitHub, kod paylaşma ve kolaborasyonu kolaylaştırmak için tasarlandı.
İlk olarak, yazılım geliştiricilerin açık kaynak kodlu projeleri paylaşmasına olanak tanıyan bir platform olarak kuruldu. Ancak, bugün, birçok farklı sektör ve alanda kullanılmaktadır ve kullanıcıların yazılım projeleri, dokümanlar, veriler ve diğer dosyaları yönetmelerine ve paylaşmalarına olanak tanır.
GitHub Ne İşe Yarar?
GitHub, kod ve proje yönetimi için tasarlandı ve birçok fonksiyona sahiptir. Aşağıdaki özelliklerden bazıları GitHub’ın kullanımının yararlarıdır:
Kod Depolama ve Sürüm Kontrol: GitHub, kodları ve diğer dosyaları depolamanıza, sürümlerini izlemenize ve geçmiş sürümlere erişmenize olanak tanır.
Kolaborasyon: GitHub, birden fazla kişinin aynı projeyi geliştirmesine olanak tanır. Kullanıcılar, diğer kullanıcıların kodlarını görüntüleyebilir, katkıda bulunabilir ve yorumlar yapabilir.
Açık Kaynak Projeler: GitHub, açık kaynak projelerin paylaşılması ve geliştirilmesine olanak tanır.
Bug İzleme: GitHub, bugları ve problemleri izlemenize ve çözmenize olanak tanır.
Doküman Yönetimi: GitHub, proje belgelerini ve dokümanları yönetmenize ve paylaşmanıza olanak tanır.
Bu fonksiyonlar, GitHub’ı yazılım geliştiricilerinin yanı sıra tasarımcılar, yazılım mühendisleri, veri bilimcileri ve diğer profesyoneller tarafından da sıklıkla kullanılan bir platform haline getirmiştir.

GitHub Komutları Nelerdir?
GitHub, Git tabanlı bir sürüm kontrol sistemi olduğu için Git komutlarının birçok versiyonunu kullanabilirsiniz. Aşağıdaki Git komutları, GitHub üzerinde en sık kullanılanlar arasındadır:
git clone | Bir GitHub deposunu lokal makinenize kopyalamanızı sağlar. |
git checkout | Depodaki belirli bir sürüm veya etiketi (branch) görüntülemek için kullanılır. |
git pull | GitHub deposundaki en son değişiklikleri lokal makinenize getirmenizi sağlar. |
git push | Lokal makinenizdeki değişiklikleri GitHub deposuna göndermenizi sağlar. |
git commit | Yapılan değişikliklerin bir “commit” olarak kaydedilmesini sağlar. |
git branch | Yeni bir ağaç (branch) oluşturmanızı veya mevcut ağaçları görüntülemenizi sağlar. |
git merge | Bir ağacı (branch) başka bir ağaca birleştirmenizi sağlar. |
git diff | İki sürüm arasındaki farkı görüntülemek için kullanılır. |
git log | Commit geçmişini görüntülemek için kullanılır. |
Bu komutlar sadece GitHub üzerinde en sık kullanılanlarından birkaçıdır ve Git komutlarının tam bir listesi oldukça geniştir. Eğer GitHub ve Git hakkında daha detaylı bilgi edinmek istiyorsanız, Git dokümantasyonu ve GitHub Yardım sayfasına bakabilirsiniz.
GitHub Kullanımı
Süreç çok basit ve hızlıdır. Oluşturduğunuz hesaba bir profil resmi ekleyebilir, bir tanıtım yazısı ekleyebilir ve diğer profesyonel ayrıntılar ekleyebilirsiniz.
GitHub Repository Oluşturma: GitHub üzerinde bir repository (depo) oluşturmak için, “New repository” seçeneğini seçmeniz yeterlidir. Repository’nin ismi, açıklaması ve gizlilik ayarları gibi bilgileri girin. Ayrıca, repository’nin başlangıç kodlarını doğrudan GitHub üzerinden yükleyebilirsiniz veya Git aracılığıyla yerel bilgisayarınızdan repository’e başlangıç kodlarını gönderebilirsiniz.
GitHub Çalışma Mantığı: GitHub üzerinde yapılan tüm değişiklikler Git mantığına göre kaydedilir ve sürüm yönetimi yapılır. Her değişiklik bir “commit” olarak kaydedilir ve bu commit’lerin tarihçesi tutulur. Bu sayede, herhangi bir zamanda değişikliklerin tarihçesine bakarak hangi değişikliklerin yapıldığını ve kimin tarafından yapıldığını takip edebilirsiniz.
GitHub İşbirliği: GitHub üzerinde birden fazla kullanıcının aynı projede çalışmasına olanak tanır. Bunun için, repository’nin sahibi başka bir kullanıcıya “collaborator” olarak ekleyebilir. Eklenen kullanıcılar, repository’nin tüm dosyalarına erişebilir, değişiklik yapabilir ve pull request (çekme isteği) oluşturabilir. Pull request, repository sahibinin veya diğer collaboratorların onayına sunulan değişikliklerdir.
GitHub Issues: GitHub Issues, repository üzerinde yapılan projenin görev ve sorunlarını izlemeye yarar. Kullanıcılar, repository üzerinde yapılması gereken görevleri veya çözülmesi gereken sorunları belirtebilir ve bu görev veya sorunların durumunu takip edebilirler.
GitHub Pages: GitHub Pages, GitHub üzerinde bulunan repository’ler üzerinden web sayfaları oluşturmanıza olanak tanır.

Pull Request Nedir?
Pull Request (Çekme İsteği), Git tabanlı versiyon kontrol sistemlerinde kullanılan bir özelliktir. Pull request, bir kullanıcının yapmış olduğu değişiklikleri (commit) bir repository’nin sahibi veya diğer collaboratorları tarafından incelenmesi ve onaylanması için sunması anlamına gelir.
Pull request, repository sahibi veya diğer collaboratorlar, sunulan değişiklikleri görür ve onaylarsa, değişiklikler repository’nin ana dalına (master branch) eklenir. Eğer değişiklikler repository sahibi veya collaboratorlar tarafından uygun bulunmazsa, repository sahibi veya collaboratorlar tarafından geri bildirim verilebilir ve gerekli düzeltmeler yapılabilir. Bu süreç, kodun kalitesini ve güvenliğini arttırmak için yapılan değişikliklerin incelenmesini ve onaylanmasını kolaylaştırır.
Fork Nedir?
Fork, Git tabanlı versiyon kontrol sistemlerinde kullanılan bir özelliktir. Fork, bir repository’nin başka bir kullanıcı tarafından kopyalanması anlamına gelir. Bu işlem sonrası, kullanıcının kopyaladığı repository’nin tamamen ayrı bir repository olarak oluşmasına neden olur. Bu repository, kullanıcının kendi hesabında bulunur ve kullanıcı tarafından düzenlenebilir.
Fork özelliği, kullanıcıların bir repository’nin çalışmasına katkıda bulunmalarını, repository’nin kaynak kodlarını farklı şekillerde kullanmalarını ve değiştirmelerini sağlar. Eğer kullanıcı yapmış olduğu değişiklikleri repository’nin sahibi veya diğer collaboratorları ile paylaşmak isterse, bu değişikliklerin repository’nin sahibi veya diğer collaboratorları tarafından incelenmesi için bir Pull Request gönderilebilir.

GitHub Yazılımcılara Ne Fayda Sağlar?
GitHub, yazılım geliştiriciler için oldukça önemli bir platformdur ve birçok faydası vardır. Aşağıdaki maddeler bu faydaları daha detaylı olarak açıklamaktadır:
Kodların yönetimi ve sürüm kontrolü: GitHub, kodlarınızı düzenli olarak kaydetmenize ve geçmiş sürümlerine erişmenize olanak tanır. Bu, kodlarınızın gelişmesine ve değişmesine rağmen eski sürümlerine her zaman erişebilmenizi sağlar ve bu sürümler arasında karşılaştırma yapmanıza olanak tanır.
Ekip Çalışması: GitHub, takım üyelerinin aynı projeyi düzenli olarak güncelleyebilmelerine ve birlikte çalışabilmelerine olanak tanır. Aynı anda birden fazla kişinin projede çalışması, projenin daha hızlı tamamlanmasına yardımcı olabilir.
Açık Kaynak Kodlu Projeler: GitHub, açık kaynak kodlu projeler için mükemmel bir platformdur ve birçok yazılım projesi burada barındırılır. Bu, diğer geliştiricilerin projenize katkıda bulunmasına, projenin gelişmesine ve düzeltilmesine olanak tanır.
Portföy Oluşturma: GitHub, yazılım geliştiricilerin portföylerini oluşturmalarına yardımcı olabilir. Geliştiriciler, burada yaptıkları projeleri sergileyebilir ve potansiyel işverenlerine göstermelerine olanak tanır.
Öğrenme ve Kod Paylaşma: GitHub, diğer geliştiricilerin kodlarını inceleyerek ve kod paylaşarak öğrenme fırsatı sunar. Ayrıca, geliştiriciler kodlarını diğerleri tarafından incelenmesine ve görüşlerine açabilirler.
İşletme ve Yönetim: GitHub, projelerin yönetimini ve işletmeyi kolaylaştırır. Projenin sürekli olarak takip edilmesine, görev atanmasına, istek ve hata raporlarının izlenmesine fayda sağlar ve işletmelere yardımcı olur.

GitHub Kullanım Alanları Nelerdir?
GitHub, yazılım geliştirme, proje yönetimi ve colaboration alanlarında en yaygın olarak kullanılan platformlardan biridir. Kullanıcılar, projelerini depolayabilir ve diğer kullanıcılarla paylaşabilirler. GitHub, açık kaynak kodlu projelerin geliştirilmesine yardımcı olan bir ortam sağlar.
GitHub, kodların sürüm yönetimi ve kontrolü için Git çekirdeğini kullanır. Bu sayede, kullanıcılar, kodlarını değiştirdiklerinde veya yeni özellikler eklediklerinde, bu değişikliklerin tarihçesini takip edebilir ve herhangi bir zamanda eski bir sürüme geri dönebilirler. Ayrıca, diğer kullanıcılar da projede yapılan değişiklikleri takip edebilir ve bu değişiklikleri kabul edebilir veya reddedebilirler.
GitHub, ayrıca, proje içinde issue tracking yapmak için de kullanılabilir. Bu sayede, proje ekibi üyeleri, proje hakkında bilgi toplamak, hataları veya problemleri belirlemek ve çözmek için birlikte çalışabilirler.
GitHub, ayrıca, pull request özelliği sunar. Bu özellik, kullanıcıların, projede yapacakları değişiklikleri diğer kullanıcılarla paylaşmasına ve bu değişikliklerin proje sahibi tarafından kabul edilip edilmeyeceğine karar verilmesine olanak tanır.
GitHub, wiki özelliği de sunar. Bu özellik, proje hakkında daha fazla bilgi ve belgeleme sağlamak için kullanılabilir. Kullanıcılar, proje hakkındaki bilgileri bu sayede toplayabilir ve bu bilgilerin diğer kullanıcılar tarafından da kullanılmasına olanak tanır.
Sonuç olarak, GitHub, yazılım geliştirme ve proje yönetimi alanlarında kullanılan bir platformdur.
