วิธีดาวน์โหลด GitHub repo เป็น. zip โดยใช้บรรทัดคำสั่ง


9

ฉันกำลังพยายามดาวน์โหลดไฟล์. zip จาก GitHub โดยใช้บรรทัดคำสั่งใน Ubuntu ฉันใช้wgetคำสั่งสำหรับระบบ Ubuntu ระยะไกล

ฉันทำงานwget <link>โดยที่<link>ลิงก์ของแถบที่อยู่ของไฟล์ที่ฉันต้องการดาวน์โหลด archive.zip?ref=masterมันจบลงด้วย

ตอนนี้เมื่อฉันรันคำสั่งมันกำลังดาวน์โหลดไฟล์ที่มีtext/htmlประเภทไม่ใช่.zipไฟล์ที่ฉันต้องการ

wgetกรุณาบอกฉันว่าจะได้รับการเชื่อมโยงที่จะได้รับเป็นพารามิเตอร์ของ ตอนนี้ฉันเพิ่งคัดลอกที่อยู่ลิงก์ของปุ่ม (ใช้คลิกขวา) และเขียนเป็นwgetพารามิเตอร์


คุณสามารถบอกคำสั่งที่แน่นอนว่าคุณกำลังวาง?
kashish

1
URL ของคุณลงท้ายด้วย. zip หรือไม่
kashish

@kashish ไม่มี URL ไม่ได้ลงท้ายด้วย. zip ฉันกำลังพยายามดาวน์โหลดโครงการจาก github และมีปุ่มดาวน์โหลดที่ให้รหัสไปรษณีย์และตัวเลือกอื่น ๆ ดังนั้นฉันพยายามจากที่นั่น มันลงท้ายด้วย archive.zip?ref=master
UbuntuCoder

ในการดาวน์โหลดโครงการ github คุณสามารถใช้git clone <projectlink.git>
kashish

1
หากฉันไม่เข้าใจผิดว่าเป็นไปได้ที่จะดาวน์โหลดที่เก็บเป็นไฟล์ Zip โดยใช้ที่อยู่ต่อไปนี้:https://github.com/{user}/{repo}/archive/{branch}.zip
Alex Chermenin

คำตอบ:


11

จากความเห็นที่ฉันเห็นคุณพูดจริงเกี่ยวกับ GitHub

มันจะไม่ทำงานอย่างนี้เพราะ:

การดาวน์โหลดโปรเจ็กต์บน GitHub ทำให้เซิร์ฟเวอร์ GitHub แพ็คโปรเจ็กต์ของคุณเป็น zip และส่งต่อคุณไปยังลิงก์ชั่วคราวที่คุณได้รับ zip

ลิงค์นี้จะใช้งานได้ในช่วงเวลาหนึ่งและกว่า GitHub จะลบไฟล์ซิปของคุณออกจากเซิร์ฟเวอร์ของพวกเขา ..

ดังนั้นสิ่งที่คุณจะได้รับจาก wget คือหน้า html ซึ่งจะส่งต่อคุณทันทีที่ไฟล์ zip ของคุณถูกสร้างขึ้น

ตามที่แนะนำให้ใช้

git clone http://github.com/<yourRepoLink> <optional local path where to store>

เพื่อดาวน์โหลด git repo ... ถ้าด้วยเหตุผลบางอย่าง (เช่นโอนไปยังผู้อื่น) คุณต้องการมันอย่างชัดเจนเพราะ zip คุณยังสามารถแพ็คมันได้หลังจากการโคลนเสร็จสิ้น ..


2
หลังจากทำการโคลนนิ่งแล้วให้ทำgit archive -o output.zipถ้าจำเป็นต้องใช้ไฟล์ zip
Ferrybig

git cloneใช้งานได้ตามปกติ แต่มีบางกรณีที่ไม่สะดวกที่จะติดตั้ง git เพื่อดาวน์โหลด repo
Robin Métral

0

ใช้งานได้ถ้าคุณใช้ URL ที่ถูกต้อง สำหรับ repo GitHub มีซิปที่https://github.com/user/repo/archive/master.zipคุณสามารถดาวน์โหลดได้ด้วย:

wget https://github.com/user/repo/archive/master.zip

นี้ดาวน์โหลดสาขาของmaster user/repoคุณสามารถแทนที่ต้นแบบด้วยสาขาอื่นหรือแฮชการกระทำ

สิ่งนี้คล้ายกับการใช้ cURL กับ:

curl -L https://github.com/user/repo/archive/master.zip

-Lธงของ cURL ติดตามการเปลี่ยนเส้นทาง - เป็นค่าเริ่มต้นใน wget

โปรดทราบว่าคุณยังสามารถดาวน์โหลด tarball ด้วย:

wget https://github.com/user/repo/archive/master.tar.gz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.