İnsanlar neden GitHub'a depolarlar? [kapalı]


110

GitHub hesaplarının çoğunda yalnızca diğer hesaplardan alınan depoların olduğunu fark ettim . Ek olarak, bunu yapan insanlar genellikle çatal havuzlara herhangi bir katkı yapmazlar.

İnsanların pul ve deniz kabuğu topladıklarını duydum, ama neden kimse depoları toplamak istesin ki? Şahsen, sadece bazı değişiklikler yapmak istesem bir depo kurardım.


84
Proje sahibinin depolarını silip yok olması durumunda istikrarlı bir yedekleri olmasını sağlamak istiyorlar
cırcır ucube

9
Basitçe, çünkü çekme istekleri GitHub'da işe yarıyor (ve insanlar biraz çatal mutlu olduğu için bazen bunu unutuyorlar ya da proje fikirlerini terk ediyorlar ve çataldan kurtulmayı unutuyorlar)
haylem

2
sadece bir yorum, anladığım gibi, kodun bir "yedeği" olarak kullanıyorlar, ancak depoyu güncellediklerini (çatal için) ne zaman doğru çatal yapmaları gerektiğini "çatalları" etkilemediğini unutuyorlar (veya bilmiyorlar) ve "Yeniden çatal" ne zaman yapılacağını bilmek için depoya "Yıldız", başka bir deyişle, "çatal" ın neredeyse "Yıldız" ile aynı olduğunu ve habersiz eski bir kodu koruduğunu düşünüyorlar.
Guilherme Nascimento

1
Çünkü bir Github'a sahip olmanın, sıcak bir başlangıçta işe alınmak için yeterli olduğunu duyduğunu söylediler.
Gaius

1
İşte sebepsiz forking için zarar hakkında yazı zbowling.github.io/blog/2011/11/25/github
gavenkoa 22:15

Yanıtlar:


69

Bizim işimizde teknik nedenler aramaya meyilliyiz, fakat bence temel sebep teknik değil. GitHub Yardımına veya diğer GitHub eğitimlerine bakarsanız, bir repo çıkarmak GitHub'ı "nasıl" uyguladığınızın ana adımlarından biridir.

İnsanlar GitHub'u öğrenip değerlendirirken, hemen hemen her öğretici, o öğrenme sürecinin bir parçası olarak bir repoyu istiflemelerini söyleyecektir. GitHub’ın temel amacı katkıda bulunmak olduğundan, standart dersler aracılığıyla çalışan pek çok insan sadece salt okunur bir klon istiyorsanız sadece önce bir çatal yapmak zorunda değilsiniz.


42
Teknik olmayan sebeplerden ötürü: "Çatal" düğmesine birkaç defa tıklattım, sadece depodan kestiğimi bulmak için depoyu kimin unuttuğunu görmeyi umuyordum. Posta ile gönder Başkalarının da aynı şeyi yapıp yapmadığından emin değilim.
gdw2

53
@gdw: "Ah, çatal!"
Ben Jackson,

1
Ben ilk Git ve Github hakkında öğrenince, ben kılavuzları ve öğreticiler olarak önermek gibiydi sırf bazı ayrılmasının yaptığını hatırlıyorum bilgisayarınızda kod kendi kopyasını almak için yol.
rmac

GitLab'ı işte kullanıyoruz, bu yüzden klon ve çatal arasındaki farkı çok iyi biliyorum. Ayrıca, çekme (GitLab için birleştirme) isteğinde bulunmak istemiyorsanız, çatal kullanmanıza gerek olmadığı görüşündeyim.
cst1992

3
@ Jesse, yapılması iyi, ancak bu durumda genellikle gereksizdir. Bir şirket, orijinalin aniden kaybolmamasını sağlamak için bağlı oldukları kod için yapabilir. Tek yapmak istediğiniz kaynaktan derlenecekse, bir klon daha basittir.
Karl Bielefeldt

101

Sorunuzda belirttiğiniz gibi, insanlar kodu değiştirmek istediklerinde depoları çatallar, çünkü orijinal depoya yazma erişiminiz yoktur (depo sahibi tarafından bir ortak çalışan olarak eklenmediyseniz).

Çatallı havuzda yazma erişimine sahipler ve değişiklikleri zorlayabilirler. Çekme isteklerini kullanarak orijinal depoya geri bile katkıda bulunabilirler .

İnsanların depoları istiflemesinin neden farklı nedenleri olduğunu düşünüyorum ama değiştirmeyin:

  • Güzel görünen bir depoya çatal olabilirler, basitçe çatallayın (çünkü kolay (sadece tek bir tıklamayla)) ve daha sonra değişiklik yapmak isteyebilirler (ve daha sonra büyük olasılıkla unutun / yapacak vaktiniz yoktu).
  • bir değişiklik yapmak için bir havuz düzenlerler ve ardından değişikliğin gereksiz olduğunu keşfederler ve kendi depolarını silmeyi unuturlar
  • Projelerden biri başka bir havuza bağlı (belki de alt modüller aracılığıyla) olduğundan ve bir depo kurabilirler ve bağımlılık olarak kullanılan havuz üzerinde tam kontrol isterler (orijinal havuzun sahipleri github'tan google koduna vb. geçmeye karar verebilir. )
  • sadece işleri zorlamayı unutabilirler

5
Github'ı kullanmadığınızda, eski okul rotasına gidersiniz ve projenin yerel bir klonlanmış kopyasını yaratırsınız, böylece onu değiştirebilirsiniz. Github'a Forking, birçok proje tarafından tercih edilen çekme isteklerine erişmenizi sağlar. Başka bir projedeyseniz, yamalar oluşturacak ve incelenmek üzere gönderebileceksiniz.
Rudolf Olah

Uzaktan izleme şubesi oluşturmak için basit bir adım işlemdir. GitHub dışındaki bir git havuzuna katkıda bulunmaya çalışan herkes ne kadar can sıkıcı olabildiğini biliyor. Ayrıca, eğer orijinal yazar AFK'ya giderse, halen aktif olarak geliştirilen çatalları bulmak için geliştirme grafiğini takip edebilirsiniz. Umarım, GitHub'u SourceForge’in yaptığı gibi ölü projelerden oluşan bir çorak arazide dejenere olmasını önleyecektir.
Evan Plaice

Ya bir projeye yer verirseniz ama değişiklik yapmazsanız. Bu yasadışı sayılır mı?
Jesse,

@Jesse GitHub'daki tüm Kamu Depoları, Açık Kaynak Lisansına (Hizmet Şartları'na uygun) sahip olmalı ve bu nedenle hiçbir sorun yaratmamalıdır . Özellikle değişiklik yapmadığınızda.
MarcDefiant

28

Muhtemel bir sebep: Bu projelere dayanan çalışan kodlara sahipler ve yapım süreçleri bağımlılıkları github'dan çekmeyi içeriyor. Çatalı olması onları kırılma değişikliklerine karşı korur. Sürümleri etiketlemeyen projeler için, bunu başarmanın en kolay yolu budur.


3
Bir uygulamanın sürüm sürümünün numarasını veya yayınlanmış sürümünü taahhüt etmek için düzeltebilirler.
Roman M. Koss

26

Github'ın tüm amacı “sosyal kodlama” .

Şahsen ben ne zaman depoları çatal:

  • Bir değişiklik yapmak istiyorum.
  • Projenin ilginç olduğunu ve gelecekte kullanmak isteyebileceğini düşünüyorum, ancak kullanmakta olduğum cihazda daha sonra kaydetmek için daha kolay bir yolu yok.
  • Bu havuzdaki kodun bir kısmını veya tamamını kendi projem için başlangıç ​​noktası olarak kullanmak istiyorum.

Şimdi insanların pul ve deniz kabuğu topladıklarını duydum, ama neden kimse depoları toplamak istesin ki?

Neden olmasın?

Kişisel zevk için depoları çatallamaktan yanlış gelebilecek hiçbir şey (düşünebileceğim bir şey yok). Dürüst olmak gerekirse, Github ve diğer yerlerde gördüğüm ilginç projelerden oluşan bir klasörü basitçe ilham amaçlı ve kısmen de ineğim. Anladığım kadarıyla kodu okumak için projeyi doldurmam gerekmiyor, ancak gelecekte düzeltmek isteyebilirim.

Şimdi çatallaşmaya başla.


9
"Neden olmasın?" İçin +1 Bölüm.
Llepwryd

Benim ek 2 sent "Neden olmasın?" Bölüm: Alışkanlığım, bir özellik üzerinde çalıştıktan sonra her zaman "git push" yapmaktır; Bu benim için tatmin edici bir QED duygusuna sahip (uzak ve dal adını yazarken alamadım). Bu nedenle, depoda değişiklik yapmak isteyebileceğim en ufak bir şans bile olsa, daha sonra varsayılan "orijinli" repoyu değiştirmek zorunda kalmak yerine onu tercih etmeyi tercih ederim.
yoniLavi

1
Bence "Neden olmasın?" bölüm "Yıldız" ın nasıl çalıştığını
açıklıyor

2
Neden daha sonra izleyebilmek için bir yıldız vermesin ki?
ahbap,

2
Bir proje ilginç olduğunda bir yıldız kullanırdım. Gerisi ile aynı fikirdeyim.
Roman M. Koss

1

Kodu kullanmak isteyebileceğim ya da ilgilendiğim bir proje ise, çok fazla repo veriyorum. Geri dönüp tekrar koda bakmak istediğimde, kodumun altında listelenip listelenmediğini bulmak daha kolay oluyor. depoları. Google’ın ya da adının tam olarak ne olduğunu ya da ne düşündüğünü hatırlamaya çalışmak için uğraşmam gerekmiyor. "Foo hakkındaki bu repoyu nerede yeniden gördüm?" Depolarım arasındaysa, bunlara hatırlatılması daha kolaydır.


Not, repoyu oynayarak aynı şeyi elde edebilirsiniz - bunun için çatal kullanmanıza gerek yok.
valiano
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.