GitHub Nedir? Niye ve Nasıl Kullanılır? ▶️

GitHub Nedir? Niye ve Nasıl Kullanılır? ▶️

Jul 9, 2023·

4 min read

Ben Buse Nur Çetin benim kim olduğumu merak ederseniz linki takip edebilirsiniz. Bugün, GitHub nedir? Nasıl kullanılır? Kimler kullanır? Avantajları ve dezavantajları nedir? gibi konulara değineceğim. Her proje GitHub’a konulmalı mı? sorusuyla kendi düşüncemi belirterek yazıyı bitireceğim. Şimdiden keyifli okumalar.

GitHub Nedir?

GitHub yazılımcıların açık kaynak(open-source) kod yazmalarına, beraber çalışmalarına, eş zamanlı güncellemeler yapmalarına, Public ve Private olarak projeler paylaşmalarına veya saklamalarına yarayan bir sürüm kontrol sistemidir. 100 milyondan fazla kullanıcısı olan GitHub pek çok yazılımcı tarafından gerek depolama gerek proje paylaşma gerek ücretsiz olarak sunduğu fırsatlar nedeniyle kullanılır. En fazla kullanılan sürüm kontrol sistemlerinden biridir.

Sürüm kontrol sistemi nedir? sorusunu soruyorsanız aşağıya bıraktığım linklere göz atmanızı tavsiye ederim.

📍 https://tr.wikipedia.org/wiki/S%C3%BCr%C3%BCm_kontrol_sistemi

📍 https://git-scm.com/book/tr/v2/Ba%C5%9Flang%C4%B1%C3%A7-Versiyon-Kontrol

Github Neden Kullanılır? Kullanmak Şart Mı?

"GitHub kullanmayan yazılımcı değildir!" denemez. GitHub kullanmak şart değildir. Pek çok yazılımcı GitHub'ı kullansa da bir o kadar yazılımcı da gerek GitHub'a güvensizlikleri gerek GitHub'ın verileri saklamasına dair politikaları gerek projelerini paylaşmak istemedikleri için kullanmıyorlar. Ben GitHub'ı severek kullananlardanım, öğrenci olduğum için de pek çok GitHub eklentisini, ek platformlarını ücretsiz bir şekilde kullanabiliyorum. GitHub neden kullanılmalıdır? sorusuna geniş bir çerçeveden bakıp GitHub'ı kimler kullanmalı? sorusuna geçelim.

GitHub yazılım geliştirme sürecinde kullanılan popüler bir platform olmasının yanında pek çok avantajı da beraberinde getiriyor. Bu avantajlardan benim için en değerli olanı projeleri açık kaynak olarak paylaşabiliyor olmamız. Projelerimizi diğer geliştiricilerle paylaşabiliyoruz bununla beraber geri bildirim alabiliyor ve proje üzerinde işbirliği yapabiliyoruz. Pek çok yazılımcının rekabet içinde olduğu bu sektörde ortak proje yapmak ya da yaptığınız projeye geri bildirim almak kendinizi geliştirmeniz ve projedeki eksikleri görmeniz açısından çok önemli. Bu anlamda GitHub Issues'da fazlaca kullanışlı. Kodunuzdaki hataları gören ya da projenize bir şeyler eklemek/çıkarmak isteyen insanlar GitHub Issues kısmından sorunu çözebilir, söyleyebilir ya da feature'ı sizinle paylaşabilir. Tüm bunlarla birlikte GitHub Pages ile web sitelerinizi yayınlayabilir, projelerinizi paketleyebilir ve GitHub Actions ile otomatik olarak dağıtım süreçlerini oluşturabilirsiniz

GitHub, projelerinizin etkinliğini ve performansını izlemenizi sağlar. Projeye yapılan katkıları, takipçi sayısını, dal (branch) istatistiklerini ve diğer metrikleri görüntüleyebilirsiniz. Bu, projenizin başarısını değerlendirmenize ve ilerlemeyi takip etmenize yardımcı olur. GitHub'ın sunduğu entegrasyonlar sayesinde geliştirme süreci iyileşir ve verimlilik artar.

Proje dosyalarının her değişikliğini takip edebilmemiz, eski sürümlere geri dönebilmemiz ve kolayca değişikliklerimizi paylaşabilmemiz de GitHub'ın avantajları arasında yer alıyor.

GitHub'ı Kimler Kullanmalı?

GitHub'ı yazılım geliştirenler, yazılım geliştirmek isteynler, açık kaynak projelere destek verip ortak proje yapmak isteyenler sadece projelerini halka açık olarak paylaşmak isteyenler ya da projelerini gizli repo halinde saklamak isteyen tüm yazılımcılar, geliştiriciler kullanabilir.

GitHub'un Dezavantajları Nelerdir?

Fiyatlama Politikası

GitHub'ın popülerliği ve faydasına rağmen, kullanmadan önce dikkate alınması gereken bazı dezavantajları vardır.

GitHub ücretsiz hesaplar sunsa da, ücretli planları oldukça pahalı olabilir, özellikle bireyler ve küçük ekipler için. Bu, daha gelişmiş özelliklere ve araçlara erişimi sınırlayabilir ve platformu özel ihtiyaçlara göre özelleştirmeyi zorlaştırabilir. GitHub'ın bazı özellikleri ve diğer depolama alanlarının bazı özellikleri SaaS bir duvarın arkasında kilitli bulunmaktadır. Büyük bir ekibiniz varsa, bu maliyet fazlaca artabilir. Daha önceden kendi ayrılmış bir IT ekibi ve kendi dahili sunucuları olanlar, maliyet nedeniyle kendi dahili Git'lerini kullanırlar ancak çoğu için maliyet aşırı değildir.

GitHub'ı ihtiyaçlara uygun hale getirmek zor olabilir ve başka sistemlerle sorunsuz entegre etmek mümkün olmayabilir. Bununla birlikte platform yoğun trafik dönemlerinde yavaşlamalar ve kesintiler yaşayabilir.

Başlangıçta Kullanması Zordur

GitHub çok güçlü bir araç olduğu için başlangıçta kullanması zordur. Yeni kullanıcılar, GitHub'da birçok farklı seçenek ve yapma şekli bulmayı kafa karıştırıcı bulabilir. Özellikle birçok kişi GitHub'ın birçok komutunu ve yazılımdaki komutlar ile argümanlar arasındaki tutarsızlığı anlamakta zorluk çeker.

Güvenlik

GitHub hem ücretsiz hem de ücretli seviyelerde özel depolar sunar, ancak özel depoların da kendi sorunları vardır. Değerli fikri mülkiyetler için tüm bunları GitHub ve giriş yapmış herhangi bir kişinin eline koyuyorsunuz, ki bu, birçok web sitesinde olduğu gibi daha önce güvenlik ihlallerine uğramış ve sürekli hedef alınmış bir yerdir.

GitHub'ın bulut tabanlı olmasından kaynaklanan bir risk unsuru hala mevcuttur. Bu nedenle, bazı müşteri ve işverenler, politika gereği kodun yalnızca kendi güvenli dahili Git'lerinde olmasına izin verir.

Sonuç olarak GitHub birçok avantajı olan ve geliştiriciler için güçlü bir araç olan bir platform olsa da, kullanmadan önce dikkate alınması gereken bazı dezavantajları da vardır. Avantajlar ve dezavantajlar göz önüne alınarak, ekipler ve bireyler GitHub'ın kendi özel ihtiyaçları ve hedefleri için doğru platform olup olmadığını belirleyebilirler.

Her Proje GitHub'a Konulmalı Mı?

Bu sorunun cevabı kişiden kişiye göre değişiyor. İsterseniz attığım tweet'e ve gelen karşıt fikirlere bakarak yorumlayabilir ya da daha çok araştırarak belli bir sonuca varabilirsiniz.

Bu kısım kendi fikirlerimden oluşacağı için en sona koydum. Bence en küçük projeler bile GitHub’a konulmalı. GitHub ücretli bir uygulama değil ve özellikle öğrencilere yönelik, ücretsiz olarak kullanabileceğiniz özelliği bulunmakta. Portfolyo ve CV oluşturma kısmında GitHub’a yükleyeceğiniz açık kaynak projeler sayesinde büyük fark yaratabileceğinizi düşünüyorum. Kodlama becerinizi, projelerinizi ve kendinizi nerden nereye taşıdığınızı gösterebilecek bir versiyon sistemi olması ve beraberinde pek çok kolaylık getirmesi bile projelerinizi GitHub’a atmanız için güzel bir sebep. Ben GitHub’ı severek kullanıyor ve GitHub Copilot, GitHub Pro gibi özelliklerden faydalanıyorum.

Bireysel düşüncelerimi görmek, projelerimden ve yeni yazılarımdan haberdar olmak için beni Twitter’dan takip edebilirsiniz!

Sonraki yazılarda ve projelerde görüşmek üzere! 👋