Hub documentation

Pull request'ler ve Tartışmalar

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Pull request'ler ve Tartışmalar

Hub'daki Pull requestlar ve Tartışmalar, kullanıcıların depolara topluluk katkılarında bulunmasını sağlar. Pull request'ler ve tartışmalar, tüm depo türleri için aynı şekilde çalışır.

Genel hatlarıyla amaç, diğer git barındırma platformlarının (GitHub gibi) PR ve Issue'larının daha basit bir versiyonunu oluşturmaktır:

  • fork kullanılmaz: katkıda bulunanlar, kaynak depoda doğrudan özel ref dalına push yapar.
  • tartışmalar ile PR'ler arasında kesin bir ayrım yoktur: temelde aynı oldukları için aynı listelerde görüntülenirler.
  • ML için (yani modeller/veri kümeleri/uzaylar depoları) optimize edilmişlerdir, keyfi depolar için değil.

Dikkat, Pull Request'ler ve tartışmalar depo ayarlarından etkinleştirilebilir veya devre dışı bırakılabilir.

Liste

Herhangi bir depoda topluluk sekmesine giderek tüm Tartışmaları ve Pull request'leri görebilirsiniz. Ayrıca yalnızca açık olanları görmek için filtreleme uygulayabilirsiniz.

Görüntüle

Discussion sayfası, farklı kullanıcıların yorumlarını görmenizi sağlar. Bir Pull Request ise, Files changed sekmesine giderek tüm değişiklikleri görebilirsiniz.

Bir Tartışma / Birleştirme İsteği başlığını düzenleme

Bir PR veya tartışma açtıysanız, depoyun yazarıysanız veya yazma erişimine sahipseniz, kalem simgesine tıklayarak tartışma başlığını düzenleyebilirsiniz.

Bir Tartışmayı / Birleşme İsteğini Sabitle

Bir depoya yazma erişiminiz varsa, tartışmaları ve Pull Request'leri sabitleyebilirsiniz. Sabitlenen tartışmalar, tüm tartışmaların en üstünde görünür.

Bir Tartışmayı / Birleşme İsteğini Kilitleyin

Bir depoya yazma erişiminiz varsa, tartışmaları veya Pull Request'leri kilitleyebilirsiniz. Bir tartışma kilitlendiğinde, önceki yorumlar hâlâ görünür kalır ve kullanıcılar yeni yorum ekleyemez.

Yorum düzenleme ve moderasyon

Bir yorum yazdıysanız veya depoya yazma erişiminiz varsa, yorum kutusunun sağ üst köşesindeki bağlamsal menüden yorum içeriğini düzenleyebilirsiniz.

Yorum düzenlendikten sonra, yorumun üzerinde yeni bir bağlantı görünür. Bu bağlantı düzenleme geçmişini gösterir.

Bir yorumu gizleyebilirsiniz. Yorumu gizlemek geri alınamaz ve kimse içeriğini göremez ya da düzenleyemez.

Ayrıca, kötüye kullanım içeren bir yorumu nasıl bildireceğinizi görmek için moderasyon bölümünü de okuyun.

Yorumlarımda ve tartışmalarda Markdown ve LaTeX kullanabilir miyim?

Evet! Yorumlarınıza biçimlendirme eklemek için Markdown kullanabilirsiniz. Ayrıca, matematiksel dizgi için LaTeX kullanabilirsiniz; formülleriniz Markdown'da ayrıştırılmadan önce KaTeX ile işlenir.

LaTeX denklemleri için aşağıdaki sınırlayıcıları kullanmanız gerekir:

  • gösterim modu için $$ ... $$
  • Satır içi mod için \\(...\\) (eğik çizgiler ve parantezler arasında boşluk yok).

Pull request'leri yerel olarak nasıl yönetirim?

PR numaranızın 42 olduğunu varsayalım.

git fetch origin refs/pr/42:pr/42
git checkout pr/42
# Do your changes
git add .
git commit -m "Add your change"
git push origin pr/42:refs/pr/42

Taslak modu

Taslak modu, “Gelişmiş mod”da sıfırdan yeni bir Pull request açarken varsayılan durumdur. Bu durumla birlikte, diğer katkıda bulunanlar Pull request’inizin üzerinde çalışıldığını ve birleştirilemeyeceğini bilir. Dalınız hazır olduğunda, Pull request’in durumunu “Open” olarak değiştirmek için yalnızca “Publish” düğmesine basın. Yayımlandıktan sonra taslak moduna geri dönülemeyeceğini unutmayın.

Bir Pull request ref'ini silme

Bir Pull request kapatıldığında veya birleştirildiğinde, depolama alanı açmak için ilişkili git ref'ini (PR'ın commit'lerini saklayan dalı) silebilirsiniz.

Bir PR kapatıldıktan veya birleştirildikten sonra, tartışmanın altında, ref'in silinmesiyle serbest bırakılabilecek tahmini depolama alanını gösteren bir bildirim görürsünüz. PR'nin git ref'ini kalıcı olarak kaldırmak ve depolama alanını geri almak için “Delete ref” düğmesine tıklayın.

Bu, ana dalın sıkıştırılmış (squash) ve dosyaların daha sonra kaldırılmış olması durumunda özellikle faydalıdır. Bu dosyalar, PR tarafından eklenmemiş olsalar bile PR dalının geçmişinde kalır ve serbest bırakılabilecek depolama alanını işgal eder.

Bir PR ref'inin silinmesi geri alınamaz. Silindikten sonra, PR'ın commit'lerini yerel olarak artık getiremez veya checkout edemezsiniz.

Gelişmiş pull request kullanımı

Değişiklikler git deposunun neresinde saklanır?

Pull request'lerimiz fork ve branch kullanmaz; bunun yerine kaynak depoda doğrudan saklanan, refs adlı özel “branch”ler kullanılır.

Git References, git'in etiketleri ve dalları zaten depoladığı dahili mekanizmadır.

Özel referansları (örneğin refs/pr/42) dallar yerine kullanmanın avantajı, bunların (varsayılan olarak) depoyu klonlayan kişiler (deponun “sahibi” dahil) tarafından getirilmemesi, ancak yine de talep üzerine getirilebilmeleridir.

Tüm Pull request'leri getiriliyor: git büyücülerine 🧙‍♀️

Yerel refspec ayarınızı tüm Pull request'leri almak için düzenleyebilirsiniz:

  1. Getir
git fetch origin "refs/pr/*:refs/remotes/origin/pr/*"
  1. ref'i izleyen yerel bir dal oluşturun
git checkout pr/{PR_NUMBER}
# for example: git checkout pr/42
  1. Yerel değişiklikler yaparsanız, PR ref'ine göndermek için:
git push origin pr/{PR_NUMBER}:refs/pr/{PR_NUMBER}
# for example: git push origin pr/42:refs/pr/42
Update on GitHub