GitHub Nedir ve Ne İçin Kullanılır?
GitHub, meraklıların her zaman hayranlık uyandırdığını duyduğumuz bir web sitesi ve hizmettir, ancak çoğu insan ne yaptığını gerçekten anlamıyor. GitHub hubbub'unun ne hakkında olduğunu bilmek ister misiniz? Öğrenmek için okumaya devam edin.
GitHub'daki "Git"
İLGİLİ: Yeni Başlayanlar İçin Subversion (SVN) ile Sürüm İzleme
GitHub'ı anlamak için önce Git'i anlamanız gerekir. Git, Linux'u yaratan kişi olan Linus Torvalds tarafından başlatılan açık kaynaklı bir sürüm kontrol sistemidir. Git, diğer sürüm kontrol sistemlerine benzer - Subversion, CVS ve Mercurial bunlardan birkaçı.
Öyleyse Git bir sürüm kontrol sistemidir, ancak bu ne anlama geliyor? Geliştiriciler bir şey (örneğin bir uygulama) yarattıklarında, kodda sürekli değişiklikler yaparlar ve ilk resmi (beta olmayan) sürüme kadar ve sonrasında yeni sürümler yayınlarlar.
Sürüm kontrol sistemleri, değişiklikleri merkezi bir depoda saklayarak bu revizyonları düz tutar. Bu, geliştiricilerin yazılımın yeni bir sürümünü indirebilecekleri, değişiklikler yapabilecekleri ve en yeni revizyonu yükleyebilecekleri için kolayca işbirliği yapmalarına olanak tanır. Her geliştirici bu yeni değişiklikleri görebilir, indirebilir ve katkıda bulunabilir.
Benzer şekilde, bir projenin geliştirilmesiyle hiçbir ilgisi olmayan kişiler yine de dosyaları indirip kullanabilir. Git, Subversion veya diğer benzer yöntemlerin kullanılması gerekli dosyaları indirmek için oldukça yaygındır - özellikle kaynak koddan bir program derlemeye hazırlık olarak (Linux meraklıları için oldukça yaygın bir uygulama) olduğundan, çoğu Linux kullanıcısı bu işleme aşina olmalıdır.
Git, mevcut diğer sistemlere göre birçok avantajı olduğu için çoğu geliştiricinin tercih ettiği sürüm kontrol sistemidir. Dosya değişikliklerini daha verimli bir şekilde depolar ve dosya bütünlüğünü daha iyi sağlar. Ayrıntıları bilmekle ilgileniyorsanız, Git Temelleri sayfasında Git'in nasıl çalıştığına dair kapsamlı bir açıklama vardır.
GitHub'daki "Merkez"
Git'in bir sürüm kontrol sistemi olduğunu, benzer ancak mevcut birçok alternatiften daha iyi olduğunu belirledik. Peki GitHub'ı bu kadar özel yapan nedir? Git bir komut satırı aracıdır, ancak Git ile ilgili her şeyin etrafında döndüğü merkez, geliştiricilerin projelerini ve ağlarını benzer fikirlere sahip insanlarla depoladıkları merkez olan GitHub.com'dur.
İneklerin GitHub'ı kullanmayı sevmelerinin ana nedenlerinden birkaçını gözden geçirelim ve yol boyunca bazı terminoloji öğrenelim.
Depo
Depo (genellikle “depo” olarak kısaltılır), belirli bir proje için tüm dosyaların depolandığı bir konumdur. Her projenin kendi deposu vardır ve ona benzersiz bir URL ile erişebilirsiniz.
Bir Depoyu Çatallamak
"Çatallanma", zaten var olan başka bir projeye dayalı olarak yeni bir proje oluşturduğunuz zamandır. Bu, programların ve diğer projelerin daha da geliştirilmesini büyük ölçüde teşvik eden şaşırtıcı bir özelliktir. GitHub'da katkıda bulunmak istediğiniz bir proje bulursanız, depoyu çatallayabilir, istediğiniz değişiklikleri yapabilir ve revize edilmiş projeyi yeni bir depo olarak yayınlayabilirsiniz. Yeni projenizi oluşturmak için çatalladığınız orijinal depo güncellenirse, bu güncellemeleri mevcut çatalınıza kolayca ekleyebilirsiniz.
Çekme Talepleri
Bir depoyu çatalladınız, projede büyük bir revizyon yaptınız ve orijinal geliştiriciler tarafından tanınmasını istiyorsunuz - hatta belki resmi proje / havuza dahil edilmiş. Bunu bir çekme isteği oluşturarak yapabilirsiniz. Orijinal deponun yazarları çalışmanızı görebilir ve ardından resmi projeye kabul edip etmemeyi seçebilirler. Bir çekme talebinde bulunduğunuzda GitHub, sizin ve ana projenin bakım sorumlusunun iletişim kurması için mükemmel bir ortam sağlar.
Sosyal ağ
GitHub'ın sosyal ağ özelliği muhtemelen en güçlü özelliğidir ve projelerin sunulan diğer özelliklerin hemen hemen hepsinden daha fazla büyümesine izin verir. GitHub'daki her kullanıcının, bir tür özgeçmiş gibi davranan, geçmiş çalışmalarınızı ve diğer projelere olan katkılarınızı çekme istekleri aracılığıyla gösteren kendi profili vardır.
Proje revizyonları kamuya açık olarak tartışılabilir, böylece bir dizi uzman bilgiye katkıda bulunabilir ve bir projeyi ilerletmek için işbirliği yapabilir. GitHub'ın ortaya çıkmasından önce, bir projeye katkıda bulunmakla ilgilenen geliştiricilerin genellikle yazarlarla iletişim kurmanın bazı yollarını bulmaları gerekir - muhtemelen e-posta yoluyla - ve sonra onları güvenilebileceklerine ve katkılarının yasal olduğuna ikna etmelidir.
Değişiklikler
Bir proje üzerinde birden fazla kişi işbirliği yaptığında, revizyonları takip etmek zordur - bu dosyaların kimin neyi, ne zaman ve nerede depolandığını değiştirdi. GitHub, depoya gönderilen tüm değişiklikleri takip ederek bu sorunu çözer.
GitHub Yalnızca Geliştiriciler İçin Değildir
GitHub'ın programcılar için nasıl ideal olduğu hakkındaki tüm bu konuşmalar, onu yararlı bulacakların tek kişi olduğuna inanmanıza neden olabilir. Çok daha az yaygın olmasına rağmen, aslında GitHub'ı her tür dosya için kullanabilirsiniz. Örneğin, bir kelime belgesinde sürekli olarak değişiklik yapan bir ekibiniz varsa, sürüm kontrol sisteminiz olarak GitHub'ı kullanabilirsiniz. Çoğu durumda daha iyi alternatifler olduğu için bu uygulama yaygın değildir, ancak akılda tutulması gereken bir şeydir.
Artık GitHub'ın neyle ilgili olduğunu bildiğinize göre, başlamaya hazır mısınız? GitHub.com'a gidin ve kaydolduktan sonra yardım sayfalarına göz atmayı unutmayın.