GitHub: fork'u "kendi projesi" yapın


118

Çok uzattığım güzel bir GitHub projesi buldum. Değişikliklerimin iyi olduğuna inanıyorum çünkü işe yarıyorlar. Ancak, orijinal yazarın bu değişiklikleri gözden geçirip dahil edecek zamanı olmadığı görülüyor. Aslında, ihtiyacım olan ve uyguladığım özelliklerin orijinal yazarın vizyonunda olmaması bile mümkündür ve biz sadece farklı hedefleri hedefliyoruz. Ondan hiç cevap almadığım için bilmiyorum.

Katkılarımın taahhüt haritamda sayılmadığını gördüm. Orijinal arşiv katkılarımı kabul etmediği sürece bu böyledir. Dahası, işim yalnızca iş olarak kabul ediliyor ve benimle aynı vizyona sahip başka insanları çekmiyor. Bu benim için daha büyük problem çünkü birçok insanın bu özellikleri talep ettiğini görüyorum.

Hala orijinal projeye katkılarımı sunuyorum, ancak bunların kabul edilemeyeceğini görüyorum. Şimdi çatalımı "gerçek bir proje" yapmak istiyorum. Bazı zamanlarda orijinal projeyle senkronize olmayı planlarken, onu yeniden adlandırmak ve insanları projeme katkıda bulunmaları için motive etmek istiyorum. Ek olarak, GitHub'ın bu projenin aktif olarak sürdürüldüğünü göstermesini çok isterim (commit haritasından bahsedersek). Ve son olarak, onu uygun şekilde yayınlamayı çok isterim.

Bunu nasıl yapabilirim ve çatalımı tam teşekküllü bir proje haline getirebilirim?


Kafam karıştı, belki 2014'ten beri bazı şeyler değişti, ancak TightBlog projem sol üst köşede Apache Roller çatalı olarak listeleniyor: github.com/gmazza/tightblog , yine de tüm sorunlarım için tam kredi alıyorum , PR'ler, vb. Hiçbir iş Apache Roller ana projesine uygulanmamasına rağmen, sadece çatalım için geçerli : ( github.com/gmazza?tab=overview&period=monthly ). Artık bir çatalı bağımsız bir proje yaparak ne kazanacağından emin değilim.
Glen Mazza

Yanıtlar:


75

Çatalı ayırmak ve GitHub'da bağımsız bir depoya dönüştürmek için GitHub desteğine başvurun .

https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/#commit-was-made-in-a-fork


9
Ayrıca, bunu yapmak yıldızları, izleyicileri ve çatal ağını tutacaktır. Sıfırdan yeni bir depo oluşturmanın aksine.
Johnco

1
GitHub Desteğinin bana alt çatallara yeniden bakma veya onları kendi depomda tutma seçeneği verdiğini belirtmek gerekir.
gmarmstrong

41

Bunu yapmak için depoyu kopyalamanız gerekir . Kısa versiyon:

  1. GitHub'da yeni bir depo oluşturun.
  2. Üstünden ayırmak istediğiniz çatallı depoyu klonlayın.
  3. Bu klondaki tüm dalları yeni deponuza gönderin.

Deponuzun hala aynı ada sahip olmasını istiyorsanız, muhtemelen deponuzu klonlayabilir, GitHub'da silebilir, aynı adla yeni bir proje oluşturabilir ve her şeyi aktarabilirsiniz.
Rory O'Kane

12
Görünüşe göre GitHub çekme istekleri yalnızca bir projenin GitHub çatalları arasında olabilir. Dolayısıyla, deponuzu çoğaltırsanız, yeni depodan çekme isteklerinde bulunamazsınız. Ve eski deponuzu silip değiştirirseniz, mevcut tüm çekme istekleriniz muhtemelen kapatılacaktır çünkü GitHub kodun silindiğini düşünecek ve yeni çekme istekleri yapamayacaksınız.
Rory O'Kane

9
Olumsuz oy kullanmak, insanları gereksiz eylemlerde bulunmaya yönlendirebilir. Oleh'in cevabı bunun yerine kabul edilmelidir: gitmenin yolu GitHub desteğiyle iletişim kurmaktır. Çatalımı bağımsız bir depoya dönüştürmek bir saatten az sürdü.
Georgii Ivankin

5

Bu çok kolay:

  1. Depoyu bir yere klonlayın : git clone git@github.com:USERNAME/REPOSITORY.git(klonladığınızdan emin olun)
  2. Depoyu GitHub'da silin (Ayarlar> Seçenekler> Bu depoyu sil)
  3. GitHub'da yeni bir boş depo oluşturun
  4. git remote set-url origin git@github.com:USERNAME/NEW_REPOSITORY.git( Depo için aynı adı kullandıysanız, NEW_REPOSITORY== REPOSITORY👍🏻)
  5. git push
  6. 🙌🏻

(Ssh kullanıyorum, ancak https kullanırsanız github url'leriniz gibi görünecektir https://github.com/USERNAME/REPOSITORY.git)


1

Öncelikle lisansın size izin verip vermediğini kontrol etmelisiniz, genel olarak Açık Kaynak bunu yapmaya zorlar çünkü bu tamamen zincirsiz yazılım evrimi ile ilgilidir. Öyleyse, yeni bir depo oluşturun. Orijinal yazarlara atıfta bulunmayı ve projenize başlamayı unutmayın.


3
MIT lisanslı ve evet, her zamanki gibi kredi vermeyi planlıyorum. Aslında, orijinal yazarın benim kodumu kabul etmesini (veya bana neden kabul etmediğini söylemesini) tercih ederdim
Christian

1
Lisans, orijinalin GitHub çatalı olmayan bir depo oluşturmanıza izin vermiyorsa, genel projelerin bir açık kaynak lisansı altında yayınlanması gerektiğinden proje ilk etapta genel bir GitHub projesi olmamalıdır. . Kod kopyalarını oluşturmaya izin vermeyen herhangi bir açık kaynak lisansı düşünemiyorum. Bu, açık kaynağın tüm noktasıdır. (Elbette, atıf gereksinimleri olabilir - ancak bunlar bir proje "uygun" GitHub çatalı olmadan karşılanabilir.)
cdhowie

Yazar, kesinlikle olmalıdır proje özgür yazılım yapmak, ama yok eğer (hayır lisans varsa, örneğin), sonra proje dışı ücretsizdir: stackoverflow.com/a/16934573/6791398
gmarmstrong
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.