Github Nedir? Nasıl Kullanılır?

11/6/2024

Github, yazılım geliştiricilerinin projelerini yönetmek ve sürdürmek için kullandıkları, web tabanlı bir versiyon kontrol sistemidir. 2008 yılında piyasaya sürülen Github, özellikle açık kaynak projeler için popüler hale gelmiş ve günümüzde milyonlarca kullanıcının ve projenin barındırıldığı bir platform haline gelmiştir.

Github Nedir?

Github, projeleri depolamak ve yönetmek için kullanılan bir platformdur. Versiyon kontrol sistemi olan Git üzerine inşa edilmiştir ve bu sayede kullanıcılar, projelerinin geçmişini takip edebilir, farklı sürümler arasında geçiş yapabilir ve ekipleriyle işbirliği yapabilir. Github, yazılım geliştirme sürecini kolaylaştırmak ve hızlandırmak amacıyla birçok araç ve özellik sunar.

Github Kavramları ve Özellikleri

Github Nasıl Kullanılır?

1. Hesap Oluşturma

Öncelikle, Github’ın resmi internet sitesi üzerinden ücretsiz bir hesap oluşturmanız gerekmektedir. Kayıt işlemi tamamlandıktan sonra, projelerinizi barındırabileceğiniz ve yönetebileceğiniz kendi profilinize sahip olacaksınız.

2. Depo (Repository) Oluşturma

Yeni bir proje oluşturmak için "New Repository" seçeneğine tıklayın. Bu depoya, projenizin adını ve açıklamasını girerek başlamalısınız. İsterseniz projeyi halka açık (public) veya özel (private) yapabilirsiniz.

3. Git Kullanarak Depoya Bağlanma

Bilgisayarınızda terminal veya komut satırını açarak aşağıdaki komutları kullanarak projeyi yerel makinenize klonlayabilirsiniz:

Bu komut, projeyi bilgisayarınıza indirecek ve üzerinde çalışmanıza imkan tanıyacaktır.

4. Değişiklik Yapma ve Commit Etme

Projede değişiklik yaptıktan sonra, bu değişiklikleri depoya kaydetmek için şu adımları izleyin:

Bu komutlar, değişikliklerinizi depoya göndererek güncellenmiş haliyle saklamanızı sağlar.

5. Pull Request ve İnceleme

Ekip üyelerinizden gelen katkıları değerlendirmek ve projeye eklemek için "Pull Request" oluşturabilirsiniz. Bu, ekip içi işbirliğini ve kod kalitesini artırmak için harika bir yöntemdir. Pull request oluşturduktan sonra, diğer ekip üyeleri bu değişiklikleri inceleyebilir ve geri bildirimde bulunabilir.

6. Issues ve Proje Yönetimi

Projelerinizde karşılaştığınız sorunları ve yapılacak görevleri "Issues" sekmesi altında takip edebilirsiniz. Burada yeni bir issue oluşturabilir, mevcut olanları güncelleyebilir ve ekip arkadaşlarınızla işbirliği yapabilirsiniz. Ayrıca, projeleriniz için "Projects" sekmesini kullanarak görevlerinizi daha organize bir şekilde yönetebilirsiniz.

Github'ı Kolaylaştıran Uygulamalar

Github'ı daha verimli ve kullanıcı dostu hale getiren birçok uygulama ve araç bulunmaktadır. Bunlardan bazıları:

Github Desktop

Github Desktop, Git ve Github kullanarak projelerinizi yönetmeyi kolaylaştıran, kullanıcı dostu bir masaüstü uygulamasıdır. Git komutlarını terminalden kullanmak yerine, grafiksel arayüz üzerinden işlemleri gerçekleştirebilirsiniz. Github Desktop, özellikle yeni başlayanlar için oldukça yararlıdır.

Github Pull Requests

Github Pull Requests, Visual Studio Code (VSCode) eklentisidir. Bu eklenti, VSCode içinde doğrudan Github pull request'leri ve issue'ları yönetmenize imkan tanır. Pull request'leri inceleyebilir, yorum yapabilir ve issue'ları takip edebilirsiniz.

Github'ın Avantajları

Github, yazılım geliştirme sürecinde birçok avantaj sunar:

İşbirliği ve Ekip Çalışması

Yazılım projelerinde işbirliği yapmak, ekip üyelerinin farklı yerlerde ve zaman dilimlerinde olabilmesi nedeniyle bazen zor olabilir. Bu platform, ekip üyelerinin projeler üzerinde eşzamanlı olarak çalışmasına olanak tanır. Örneğin, bir geliştirici yeni bir özellik eklerken, başka bir geliştirici hata düzeltmeleri yapabilir. Pull request'ler sayesinde yapılan değişiklikler gözden geçirilebilir ve onaylanabilir. Bu süreç, kod kalitesini artırır ve ekip üyeleri arasında etkin bir işbirliği sağlar.

Versiyon Kontrolü

Projelerde yapılan her değişikliğin kaydedilmesi, projeyi yönetmeyi ve sürümleri takip etmeyi kolaylaştırır. Git tabanlı yapısı sayesinde, geliştiriciler projelerinin tüm geçmişini izleyebilir ve gerektiğinde önceki sürümlere dönebilir.

Açık Kaynak Projeleri Destekleme

Açık kaynak projeleri, dünya genelindeki geliştiricilerin katkı yapmasını sağlar. Bu platform, bu tür projelerin barındırılması ve yönetilmesi için mükemmel bir ortam sunar. Geliştiriciler, kendi projelerini başkalarıyla paylaşabilir ve diğer projelere katkıda bulunabilir. Bu sayede, bilgi ve deneyim paylaşımı artar, projeler daha hızlı gelişir ve topluluklar güçlenir.

Proje Yönetimi ve Takip

Projelerin organize edilmesi ve görevlerin takip edilmesi, yazılım geliştirme sürecinin önemli bir parçasıdır. Issues ve Projects gibi araçlar, geliştiricilerin projelerini daha düzenli ve verimli bir şekilde yönetmelerine yardımcı olur. Issues, karşılaşılan problemleri ve yapılacak görevleri takip etmeyi sağlar. Projects ise görevlerin organize edilmesi ve ilerlemenin izlenmesi için kullanılabilir.

Kod İnceleme ve Geri Bildirim

Kod inceleme (code review) süreci, yazılım geliştirme projelerinde kod kalitesini artırmak için önemli bir adımdır. Pull request'ler aracılığıyla ekip üyeleri, yapılan değişiklikleri inceleyebilir ve geri bildirimde bulunabilir. Bu süreç, kodun daha güvenli ve hatasız olmasını sağlar. Ayrıca, yeni geliştiriciler için öğrenme fırsatları sunar, çünkü daha deneyimli geliştiricilerden gelen geri bildirimler, kod yazma becerilerini geliştirir. Örneğin, bir junior geliştirici tarafından yapılan bir kod değişikliği, senior bir geliştirici tarafından incelenerek optimize edilebilir ve hatalar düzeltilir.

Github İpuçları ve Tavsiyeler

README Dosyası

Projelerinizin ana dizininde README dosyası bulundurmak, projeyi tanıtmak ve kullanıcılara rehberlik etmek için oldukça önemlidir. README dosyası, projenin ne olduğunu, nasıl kurulacağını, nasıl kullanılacağını ve katkıda bulunmak isteyenler için gerekli bilgileri içermelidir. İyi hazırlanmış bir README dosyası, projeyi daha erişilebilir ve anlaşılır hale getirir. Örneğin, açık kaynak bir projede, kullanıcıların projeyi kolayca kurabilmesi ve kullanabilmesi için adım adım talimatlar ve örnek kodlar içeren bir README dosyası büyük bir fark yaratabilir.

.gitignore Dosyası

.gitignore dosyası, depolamak istemediğiniz dosya ve klasörleri belirtmek için kullanılır. Bu dosya, geçici dosyalar, derleme çıktıları ve hassas bilgileri içeren dosyaların depoya eklenmesini önler. Örneğin, projede kullanılan IDE tarafından oluşturulan geçici dosyalar veya kullanıcıya özel ayar dosyaları, .gitignore dosyasında belirtilerek depoya dahil edilmez. Bu, depo temizliğini ve düzenini korur, gereksiz dosyaların depoya eklenmesini engeller.

Örnek bir react projesi için hazırlanmış .gitignore dosyası:

gitignore dosyaları hakkında daha fazla bilgi almak için Github Docs sayfasındaki bu makaleyi de inceleyebilirsiniz.

Diğer Projeleri İnceleyin

Github üzerindeki diğer projeleri incelemek ve başka yazılım geliştiriciler tarafından yazılan kodları gözden geçirmek, kendi kodlama becerilerinizi geliştirmenin harika bir yoludur. Başarılı projelerden öğrenerek, kendi projelerinizde daha iyi işler ortaya koyabilirsiniz.

Kariyerinizi Şekillendirin

Yazılım geliştirme dünyasında yeteneklerinizi daha ileriye taşımak ve profesyonel kariyerinize güçlü bir başlangıç yapmak istiyorsanız, Patika.dev’in sunduğu bootcamp programlarına göz atabilirsiniz. Patika.dev, çeşitli yazılım alanlarında hem ücretli hem de ücretsiz bootcamp programları sunarak, katılımcıların en güncel ve talep gören teknolojilere hakim olmalarını sağlar. Özellikle Patika+ programı, katılımcılara gelişmiş eğitim materyalleri, mentorluk desteği ve iş bulma süreçlerinde rehberlik sunarak, kariyerlerini hızla ilerletmelerine yardımcı olur. Detaylı bilgi ve başvuru için Patika.dev’i ziyaret edebilirsiniz.

Github'a Alternatif Diğer Popüler Araçlar

GitLab

GitLab, Git tabanlı bir versiyon kontrol sistemi olup, kod depolama ve proje yönetimi için kapsamlı özellikler sunar. GitLab, özellikle sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerine entegre edilmiş bir platform olarak öne çıkar. Kullanıcılar, projelerini yönetmek, izlemek ve otomatikleştirmek için GitLab'ı tercih edebilirler. GitLab'ın en büyük avantajlarından biri, tamamen açık kaynaklı olması ve kendi sunucularınıza kurularak kullanılabilmesidir. Bu, özellikle güvenlik ve gizlilik konularında hassas projeler için ideal bir seçenektir.

Bitbucket

Bitbucket, Atlassian tarafından geliştirilen ve özellikle yazılım ekipleri için tasarlanmış bir versiyon kontrol sistemidir. Bitbucket, hem Git hem de Mercurial depolarını destekler ve Jira, Confluence gibi diğer Atlassian ürünleriyle sıkı entegrasyon sunar. Bu entegrasyonlar, proje yönetimi ve takım işbirliği süreçlerini kolaylaştırır. Bitbucket ayrıca, sınırsız özel depolar sunarak, küçük ve büyük ölçekli projeler için ideal bir platform haline gelir.

Our advice to our participants
More

Github Nedir? Nasıl Kullanılır?

GitHub, yazılım geliştirme projelerini barındırmak ve yönetmek için kullanılan bir platformdur. Versiyon kontrolü, işbirliği ve kod paylaşımı için idealdir.

Github, yazılım geliştiricilerinin projelerini yönetmek ve sürdürmek için kullandıkları, web tabanlı bir versiyon kontrol sistemidir. 2008 yılında piyasaya sürülen Github, özellikle açık kaynak projeler için popüler hale gelmiş ve günümüzde milyonlarca kullanıcının ve projenin barındırıldığı bir platform haline gelmiştir.

Github Nedir?

Github, projeleri depolamak ve yönetmek için kullanılan bir platformdur. Versiyon kontrol sistemi olan Git üzerine inşa edilmiştir ve bu sayede kullanıcılar, projelerinin geçmişini takip edebilir, farklı sürümler arasında geçiş yapabilir ve ekipleriyle işbirliği yapabilir. Github, yazılım geliştirme sürecini kolaylaştırmak ve hızlandırmak amacıyla birçok araç ve özellik sunar.

Github Kavramları ve Özellikleri

  • Depo (Repository): Projelerinizi sakladığınız, organize ettiğiniz ve paylaştığınız yer.
  • Branching ve Merging: Farklı özellikler veya düzeltmeler üzerinde paralel çalışmanıza imkan tanır ve daha sonra bu değişiklikleri ana proje ile birleştirmenizi sağlar.
  • Pull Requests: Ekip üyelerinizin projeye katkıda bulunmasını ve bu katkıları gözden geçirmenizi sağlar.
  • Issues: Projelerle ilgili problemleri ve görevleri takip etmenize yardımcı olur.
  • Wiki ve Pages: Projeler hakkında daha ayrıntılı bilgi sağlamak için wiki ve sayfalar oluşturmanıza imkan tanır.

Github Nasıl Kullanılır?

1. Hesap Oluşturma

Öncelikle, Github’ın resmi internet sitesi üzerinden ücretsiz bir hesap oluşturmanız gerekmektedir. Kayıt işlemi tamamlandıktan sonra, projelerinizi barındırabileceğiniz ve yönetebileceğiniz kendi profilinize sahip olacaksınız.

2. Depo (Repository) Oluşturma

Yeni bir proje oluşturmak için "New Repository" seçeneğine tıklayın. Bu depoya, projenizin adını ve açıklamasını girerek başlamalısınız. İsterseniz projeyi halka açık (public) veya özel (private) yapabilirsiniz.

3. Git Kullanarak Depoya Bağlanma

Bilgisayarınızda terminal veya komut satırını açarak aşağıdaki komutları kullanarak projeyi yerel makinenize klonlayabilirsiniz:

Bu komut, projeyi bilgisayarınıza indirecek ve üzerinde çalışmanıza imkan tanıyacaktır.

4. Değişiklik Yapma ve Commit Etme

Projede değişiklik yaptıktan sonra, bu değişiklikleri depoya kaydetmek için şu adımları izleyin:

Bu komutlar, değişikliklerinizi depoya göndererek güncellenmiş haliyle saklamanızı sağlar.

5. Pull Request ve İnceleme

Ekip üyelerinizden gelen katkıları değerlendirmek ve projeye eklemek için "Pull Request" oluşturabilirsiniz. Bu, ekip içi işbirliğini ve kod kalitesini artırmak için harika bir yöntemdir. Pull request oluşturduktan sonra, diğer ekip üyeleri bu değişiklikleri inceleyebilir ve geri bildirimde bulunabilir.

6. Issues ve Proje Yönetimi

Projelerinizde karşılaştığınız sorunları ve yapılacak görevleri "Issues" sekmesi altında takip edebilirsiniz. Burada yeni bir issue oluşturabilir, mevcut olanları güncelleyebilir ve ekip arkadaşlarınızla işbirliği yapabilirsiniz. Ayrıca, projeleriniz için "Projects" sekmesini kullanarak görevlerinizi daha organize bir şekilde yönetebilirsiniz.

Github'ı Kolaylaştıran Uygulamalar

Github'ı daha verimli ve kullanıcı dostu hale getiren birçok uygulama ve araç bulunmaktadır. Bunlardan bazıları:

Github Desktop

Github Desktop, Git ve Github kullanarak projelerinizi yönetmeyi kolaylaştıran, kullanıcı dostu bir masaüstü uygulamasıdır. Git komutlarını terminalden kullanmak yerine, grafiksel arayüz üzerinden işlemleri gerçekleştirebilirsiniz. Github Desktop, özellikle yeni başlayanlar için oldukça yararlıdır.

Github Pull Requests

Github Pull Requests, Visual Studio Code (VSCode) eklentisidir. Bu eklenti, VSCode içinde doğrudan Github pull request'leri ve issue'ları yönetmenize imkan tanır. Pull request'leri inceleyebilir, yorum yapabilir ve issue'ları takip edebilirsiniz.

Github'ın Avantajları

Github, yazılım geliştirme sürecinde birçok avantaj sunar:

İşbirliği ve Ekip Çalışması

Yazılım projelerinde işbirliği yapmak, ekip üyelerinin farklı yerlerde ve zaman dilimlerinde olabilmesi nedeniyle bazen zor olabilir. Bu platform, ekip üyelerinin projeler üzerinde eşzamanlı olarak çalışmasına olanak tanır. Örneğin, bir geliştirici yeni bir özellik eklerken, başka bir geliştirici hata düzeltmeleri yapabilir. Pull request'ler sayesinde yapılan değişiklikler gözden geçirilebilir ve onaylanabilir. Bu süreç, kod kalitesini artırır ve ekip üyeleri arasında etkin bir işbirliği sağlar.

Versiyon Kontrolü

Projelerde yapılan her değişikliğin kaydedilmesi, projeyi yönetmeyi ve sürümleri takip etmeyi kolaylaştırır. Git tabanlı yapısı sayesinde, geliştiriciler projelerinin tüm geçmişini izleyebilir ve gerektiğinde önceki sürümlere dönebilir.

Açık Kaynak Projeleri Destekleme

Açık kaynak projeleri, dünya genelindeki geliştiricilerin katkı yapmasını sağlar. Bu platform, bu tür projelerin barındırılması ve yönetilmesi için mükemmel bir ortam sunar. Geliştiriciler, kendi projelerini başkalarıyla paylaşabilir ve diğer projelere katkıda bulunabilir. Bu sayede, bilgi ve deneyim paylaşımı artar, projeler daha hızlı gelişir ve topluluklar güçlenir.

Proje Yönetimi ve Takip

Projelerin organize edilmesi ve görevlerin takip edilmesi, yazılım geliştirme sürecinin önemli bir parçasıdır. Issues ve Projects gibi araçlar, geliştiricilerin projelerini daha düzenli ve verimli bir şekilde yönetmelerine yardımcı olur. Issues, karşılaşılan problemleri ve yapılacak görevleri takip etmeyi sağlar. Projects ise görevlerin organize edilmesi ve ilerlemenin izlenmesi için kullanılabilir.

Kod İnceleme ve Geri Bildirim

Kod inceleme (code review) süreci, yazılım geliştirme projelerinde kod kalitesini artırmak için önemli bir adımdır. Pull request'ler aracılığıyla ekip üyeleri, yapılan değişiklikleri inceleyebilir ve geri bildirimde bulunabilir. Bu süreç, kodun daha güvenli ve hatasız olmasını sağlar. Ayrıca, yeni geliştiriciler için öğrenme fırsatları sunar, çünkü daha deneyimli geliştiricilerden gelen geri bildirimler, kod yazma becerilerini geliştirir. Örneğin, bir junior geliştirici tarafından yapılan bir kod değişikliği, senior bir geliştirici tarafından incelenerek optimize edilebilir ve hatalar düzeltilir.

Github İpuçları ve Tavsiyeler

README Dosyası

Projelerinizin ana dizininde README dosyası bulundurmak, projeyi tanıtmak ve kullanıcılara rehberlik etmek için oldukça önemlidir. README dosyası, projenin ne olduğunu, nasıl kurulacağını, nasıl kullanılacağını ve katkıda bulunmak isteyenler için gerekli bilgileri içermelidir. İyi hazırlanmış bir README dosyası, projeyi daha erişilebilir ve anlaşılır hale getirir. Örneğin, açık kaynak bir projede, kullanıcıların projeyi kolayca kurabilmesi ve kullanabilmesi için adım adım talimatlar ve örnek kodlar içeren bir README dosyası büyük bir fark yaratabilir.

.gitignore Dosyası

.gitignore dosyası, depolamak istemediğiniz dosya ve klasörleri belirtmek için kullanılır. Bu dosya, geçici dosyalar, derleme çıktıları ve hassas bilgileri içeren dosyaların depoya eklenmesini önler. Örneğin, projede kullanılan IDE tarafından oluşturulan geçici dosyalar veya kullanıcıya özel ayar dosyaları, .gitignore dosyasında belirtilerek depoya dahil edilmez. Bu, depo temizliğini ve düzenini korur, gereksiz dosyaların depoya eklenmesini engeller.

Örnek bir react projesi için hazırlanmış .gitignore dosyası:

gitignore dosyaları hakkında daha fazla bilgi almak için Github Docs sayfasındaki bu makaleyi de inceleyebilirsiniz.

Diğer Projeleri İnceleyin

Github üzerindeki diğer projeleri incelemek ve başka yazılım geliştiriciler tarafından yazılan kodları gözden geçirmek, kendi kodlama becerilerinizi geliştirmenin harika bir yoludur. Başarılı projelerden öğrenerek, kendi projelerinizde daha iyi işler ortaya koyabilirsiniz.

Kariyerinizi Şekillendirin

Yazılım geliştirme dünyasında yeteneklerinizi daha ileriye taşımak ve profesyonel kariyerinize güçlü bir başlangıç yapmak istiyorsanız, Patika.dev’in sunduğu bootcamp programlarına göz atabilirsiniz. Patika.dev, çeşitli yazılım alanlarında hem ücretli hem de ücretsiz bootcamp programları sunarak, katılımcıların en güncel ve talep gören teknolojilere hakim olmalarını sağlar. Özellikle Patika+ programı, katılımcılara gelişmiş eğitim materyalleri, mentorluk desteği ve iş bulma süreçlerinde rehberlik sunarak, kariyerlerini hızla ilerletmelerine yardımcı olur. Detaylı bilgi ve başvuru için Patika.dev’i ziyaret edebilirsiniz.

Github'a Alternatif Diğer Popüler Araçlar

GitLab

GitLab, Git tabanlı bir versiyon kontrol sistemi olup, kod depolama ve proje yönetimi için kapsamlı özellikler sunar. GitLab, özellikle sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerine entegre edilmiş bir platform olarak öne çıkar. Kullanıcılar, projelerini yönetmek, izlemek ve otomatikleştirmek için GitLab'ı tercih edebilirler. GitLab'ın en büyük avantajlarından biri, tamamen açık kaynaklı olması ve kendi sunucularınıza kurularak kullanılabilmesidir. Bu, özellikle güvenlik ve gizlilik konularında hassas projeler için ideal bir seçenektir.

Bitbucket

Bitbucket, Atlassian tarafından geliştirilen ve özellikle yazılım ekipleri için tasarlanmış bir versiyon kontrol sistemidir. Bitbucket, hem Git hem de Mercurial depolarını destekler ve Jira, Confluence gibi diğer Atlassian ürünleriyle sıkı entegrasyon sunar. Bu entegrasyonlar, proje yönetimi ve takım işbirliği süreçlerini kolaylaştırır. Bitbucket ayrıca, sınırsız özel depolar sunarak, küçük ve büyük ölçekli projeler için ideal bir platform haline gelir.

BOOTCAMP

Partner şirketlerimiz, kendilerine özel Patika bootcamp’lerinden toplu işe alım yapıyor. Bu ücretsiz bootcamp'lere katıl, başarıyla mezun ol, ve hemen işe başla! Şu ana kadar binlerce kişi bootcamp'lerden sonra en iyi şirketlerde işe girdi.

Başvurulara açık programlarımız