GitHub'da bağımlılık deposu silinirse ne olur?


9
  • GitHub depom var, A.
  • Depo B, başka birine ait olan başka bir açık kaynaklı projedir.
  • Depo A, depo B'ye bağlıdır (depo B, A'nın bir alt modülüdür).

Deponun B sahibi bu deposu silmeye karar verirse, kullanıcılar artık depomu başarılı bir şekilde klonlayamaz / ödeyemez / oluşturamaz.

Sahibinin silmeye karar vermesi durumunda B'yi yedek olarak kullanmak için önceden çatallamam gerekir mi? Bunun tehlikeli bir durum olduğu düşünülüyor mu, yoksa genellikle açık kaynaklı projeler için nasıl ele alınır?


3
Bir şeyi kaçırırsam beni düzeltin, ancak A B'ye bağlıysa, o zaman birisi A inşa etmek istediğinde, hem A hem de B'yi klonlamak zorundadır, bu yüzden B silinmiş olsa bile, A kullanan herkes muhtemelen bir kopyasına sahiptir. B (tarih dahil) sistemlerinde yatıyor, çünkü git bir DVCS olduğundan, geriye dönük olarak bir çatal oluşturabilirsiniz. Sağ? Yoksa bu başka bir tür “bağımlılık” mı?

Bu normal bir alt rapor bağımlılığıdır. Ama temelde, ben A'nın koruyucusuyum. Kararlı ve aktif bir gelişme yok (sadece zaman zaman düzeltmeler), bu yüzden küçük SSD'mi temiz tutmak için sadece GitHub'daki kodu saklıyorum. Bu yüzden bunun tehlikeli bir durum olduğunu hissediyorum, çünkü B'nin sahibi B'yi silmeye karar verirse ve önleyici bir çatalım yoksa A sorun çıkarır.

3
Çatallar ücretsizdir. Geceleri uyumanıza yardımcı oluyorsa yapın.

Yanıtlar:


3

Deponun B sahibi bu deposu silmeye karar verirse, kullanıcılar artık depomu başarılı bir şekilde klonlayamaz / ödeyemez / oluşturamaz.

Bağımlı kod "repo B" kaybolursa:

  • Tüm kullanıcılar başarıyla repo klonlamak mümkün olacak.
  • Mevcut kullanıcılar muhtemelen yerel olarak repo B'nin bir kopyasına sahip olacak ve iyi bir şekilde oluşturmaya devam edecek. Bir kullanıcı söz konusu senaryo için özel olarak kurulum yolundan çıkmadıkça kaynak silinirse klonlanan depolar genellikle silinmez. Git bir DVCS olduğundan, bu tür şeylere karşı koruma sağlamak için tasarlanmıştır.
  • Yeni kullanıcılar olacak değil onlar yere gelen Repo B bir kopyasını alabilirsiniz kadar repo oluşturmak mümkün. Bir yedek saklamadığınız için bu teknede olacaksınız.

Sahibinin silmeye karar vermesi durumunda B'yi yedek olarak kullanmak için önceden çatallamam gerekir mi?

Evet.

Bunun tehlikeli bir durum olduğu düşünülüyor mu veya genellikle açık kaynaklı projeler için nasıl ele alınmaktadır?

Evet, bu bağımlı repoların popülerliğine / dağılımına / aynalarına ve repo'nuzun sizin için ne kadar önemli olduğuna bağlı olarak tehlikeli bir durumdur. Başkaları için önemliyse, (umarım) zaten hem deponuzun hem de dep deponuzun bir yedeğine sahipler.

GitHub'da hesabınıza çatallayabileceğinizi ve yer kaplamamak için SSD'nize klonlayamayacağınızı unutmayın. Ayrıca, yedekleme seçeneğinin GitHub'ın sunucularına veya hesabınızdan ödün verilmeyen hiçbir şeye bağlı olmadığını unutmayın; yeterli fazlalık derecesini yalnızca siz belirleyebilirsiniz.

Güvendiğiniz kodun miktarını, popülaritesini, yeniden üretmenin zorluğunu ve güvenilir bir şekilde saklamanın maliyetini düşünün. Bu risk değerlendirmesini düşündükten sonra uygun şekilde yedekleyin.


Daha büyük bir SSD için daha fazla harcamak istemediğiniz göz önüne alındığında, maliyet durumunuzda bir faktör gibi göründüğü için, ucuz yedekleme seçeneklerinin listesi:

  1. Açıkçası, tamamen ücretsiz olduğu için GitHub üzerine çatallayın. GitHub tekilleştirme kullanacak, böylece maliyet onlar için son derece düşük olacak.
  2. Yerel olarak (ücretsiz), eski dönen sabit sürücüler veya usb flash sürücüler. Ayrıca, ISS'niz veya hücre sağlayıcınız aracılığıyla ücretsiz bulut yedeklemesi için zaten ödeme yapıyor olabilirsiniz.
  3. Uzaktan (ücretsiz), birçok ücretsiz bulut yedekleme seçeneği veya bir arkadaşınıza sorun.
  4. Uzaktan ($), her bir GB Usenet planı satın alın ve Usenet'e yükleyin (10 ABD doları için ~ 25 GB)
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.