ฉันจะดาวน์โหลดที่เก็บส่วนตัวจาก GitHub โดยไม่สามารถเข้าถึง 'git' บนเครื่องท้องถิ่นของฉันได้อย่างไร?


9

สิ่งที่ฉันต้องการจะทำคือการดาวน์โหลดที่เก็บข้อมูลส่วนตัวจาก GitHub แยกมันออกลบไฟล์เก็บถาวรและคัดลอกบางไดเรกทอรีที่อยู่ภายในโครงการที่ดาวน์โหลด

ฉันพยายามใช้wgetแต่ฉันไม่สามารถอนุญาตตัวเองได้:

wget --header='Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz -O - | tar xz

ฉันก็ลองด้วยcURL:

curl -i -H 'Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz > file.tar.gz | tar xz

การอนุญาตผ่านที่นี่ แต่ฉันไม่สามารถแยกไฟล์ได้

ทำอย่างไร


ทำไมคุณไม่เพียงแค่ใช้git clone https://github.com/MY_USER/MY_REPO?
Tero Kilkanen

1
เพราะฉันทำที่เซิร์ฟเวอร์ที่ไม่มีคอมไพล์
Kamil Lelonek

อาจแก้ปัญหาของคุณได้: stackoverflow.com/questions/23347134/…
errordeveloper

คำตอบ:


4

การแก้ปัญหาด้วยwgetจะเป็นสิ่งที่ชอบ:

wget --header="Authorization: token <OAUTH-TOKEN>" -O - \
    https://api.github.com/repos/<owner>/<repo>/tarball/<version> | \
    tar xz --strip-components=1 && \
    cp -r <dir1> <dir2> ... <dirn> <destination-dir>/

หมายเหตุ:

  • --strip-components=1 จะลบไดเรกทอรีระดับบนสุดที่มีอยู่ใน GitHub ที่สร้างขึ้น arhive
  • ให้แน่ใจว่าคุณไม่ได้ใส่ต่อท้าย/ในตอนท้ายของไดเรกทอรีที่จะถูกคัดลอกด้วยcp( <dir1>, <dir2>, ... <dirn>) และต่อท้าย/ที่เป็นปัจจุบันในตอนท้ายของไดเรกทอรีปลายทาง ( <destination-dir>)

0

หากคุณมี "Personal Access Token" ของคุณเองคุณสามารถดาวน์โหลดไฟล์เก็บถาวรของสาขาของที่เก็บของคุณโดยใช้คำสั่ง curl:

curl -k --header "PRIVATE-TOKEN: xxxx" https://gitlab.xxxxx/api/v4/projects/<projectID>/repository/archive?sha=630bc911c1c20283d3980dcb95fd5cb75479bb9c -o myFilename.tar.gz

ProjectID จะปรากฏบนหน้าหลักของ repo

คุณสามารถรับค่า SHA จาก webUI หลังจากเลือกสาขาที่คุณต้องการจากรายการเลื่อนลงและคัดลอกค่าทางด้านขวาสำหรับ SHA ดูภาพหน้าจอด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

วิธีอื่นในการทำเช่นนี้คือผ่าน wget ดังนี้:

wget --no-check-certificate -O myFilename.zip --header=PRIVATE-TOKEN:xxxx "https://gitlab.xxxx/api/v4/projects/<projectID>/repository/archive.zip?sha=630bc911c1c20283d3980dcb95fd5cb75479bb9c"

ฉันหวังว่าจะช่วย

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