Belirli bir commit sha için GitHub'dan .zip nasıl indirilir?


106

Github'da barındırılan bir kitaplığın kaynağıyla bir .zip indirmek istiyorum, ancak ana dosyayı istemiyorum çünkü her indirdiğimde farklı bir sürüm indiriyor olabilirim.

Bu belirli kitaplığın etiketleri yok, bu yüzden onu kullanamıyorum.

Peki, belirli bir commit sha için source.zip dosyasını nasıl indirebilirim?


3
Bunun php veya composer-php ile etiketlenmesine gerek yok, değil mi?
Cacovsky

Yanıtlar:


218

İstediğiniz sha'yı indirme url'sine koyabilirsiniz:

https://github.com/{username}/{projectname}/archive/{sha}.zip

Genel bir kural olarak, çalışan bir url'niz varsa, "master" ı istediğiniz belirli sha ile değiştirebilirsiniz.

Unix'te:

wget https://github.com/{username}/{projectname}/archive/{sha}.zip

Bu özel bir depo ise, bir OAuth jetonu iletmediğiniz sürece wget'in çalışmayacağını unutmayın.

İşte bununla ilgili daha fazla bilgi:

Özel Depo'dan Git arşiv tarball'larını indirirken sorun yaşanıyor


7
Bunu yapmanın (havalı) yolunu beklemiyordum. Git komutlarını bekliyordum;)
HenchHacker

Bu bağlantıyı da kontrol edin - Bunun yerine bunu arıyor olabilir stackoverflow.com/a/48503019/341117
Ravindra Gullapalli

Kısa sha'yı da kullanabilirsiniz!
wjandrea

wget -OArşiv ZIP dosyasını yeniden adlandırmak için kullansam bile , sıkıştırmayı açtığımda büyük, çirkin bir SHA1 dizin adı alıyorum. Bundan kaçınmanın bir yolu var mı?
QED

40

Kaydetme kodunu görüntülerken, sağ üstteki "Koda Göz At" düğmesini ve ardından "Posta'yı İndir" düğmesini tıklayın.


1
Artık 'ZIP'i indirebileceğiniz' bir 'Klonla veya İndir' düğmesi var.
SureshS

"Klonla veya İndir", eski "Klonla" ve "İndir" düğmelerinin yerini alan yeni düğmedir. Yeni düğme belirli sürümler yapmaz - Zeki'nin tarif ettiği yolu kullanın
arkadaş

3
Bu benim için Şubat 2017'de çalıştı. Repo'yu seçilen commit zamanındaki değişikliklerle indirdi.
ocean4dream

7

Bu eski bir sorudur, ancak kaydetme sırasında deponun tamamını değil, yalnızca bir yama olarak işlemeyi istiyorsanız, şunları kullanabileceğinizi belirtmek isterim:

$ wget http://github.com/username/repo/commit/sha1.patch
#                        ^^^^^^^^ ^^^^        ^^^^
#                        change   change      change

/commitVe .patchparçalar önemli bir parçası olmak.

Bir süre önce tersine çevrilen ve bu nedenle çatallı depoda mevcut olmayan bir değişikliği birleştirmek istiyorsanız bu özellikle yararlıdır.

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.