Tải xuống các tệp đơn từ GitHub


625

Tôi đoán hầu hết các bạn, các nhà phát triển, sử dụng bất kỳ VCS nào và tôi hy vọng một số bạn sử dụng Git. Bạn có bất cứ mẹo hay mẹo nào để lấy URL tải xuống cho một tệp trong kho không?

Tôi không muốn URL để hiển thị tệp thô; trong trường hợp nhị phân thì không có gì.

http://support.github.com/discussions/feature-requests/41-doad-single-file

Thậm chí có thể sử dụng GitHub làm "máy chủ tải xuống" không?

Nếu chúng tôi quyết định chuyển sang Google Code, chức năng được đề cập có được trình bày ở đây không?

Hoặc có bất kỳ dịch vụ lưu trữ và VCS miễn phí nào cho các dự án nguồn mở không?


3
Tính năng Phát hành GitHub đã bước vào để hoàn thành vai trò này.
pkamb

@RadekSimko DownGit có thể giúp BẠN. Xem câu trả lời này .
Minhas Kamal

1
Đối với GitLab, xem stackoverflow.com/a/51993087/6309 .
VonC

Điều này sẽ không hiệu quả với tất cả mọi người nhưng nếu bạn sử dụng gấu trúc python, bạn có thể chỉ cần làm một cái gì đó như thế này (cũng hoạt động với các tệp lớn): nhấp vào "xem raw" và sau đó sao chép url từ trình duyệt, sau đó chỉ cần làm điều này: df = pd.read_csv ( ' raw.githubusercontent.com/t-davidson/ ' '
Graham Hesketh

Hãy thử Gitzip cho github cho chrome
subleseeker

Câu trả lời:


580

Git không hỗ trợ tải xuống các phần của kho lưu trữ. Bạn phải tải xuống tất cả. Nhưng bạn sẽ có thể làm điều này với GitHub.

Khi bạn xem một tập tin, nó có một liên kết đến phiên bản "thô". Các URL được xây dựng như vậy

https://raw.githubusercontent.com/user/repository/branch/filename

Bằng cách điền vào chỗ trống trong URL, bạn có thể sử dụng Wget hoặc cURL (với -Ltùy chọn, xem bên dưới) hoặc bất cứ điều gì để tải xuống một tệp. Một lần nữa, bạn sẽ không nhận được bất kỳ tính năng kiểm soát phiên bản đẹp nào được Git sử dụng bằng cách này.

Cập nhật: Tôi nhận thấy bạn đề cập đến việc này không hoạt động đối với các tệp nhị phân. Bạn có thể không nên sử dụng tệp nhị phân trong kho Git của mình, nhưng GitHub có phần tải xuống cho mỗi kho lưu trữ mà bạn có thể sử dụng để tải lên tệp. Nếu bạn cần nhiều hơn một nhị phân, bạn có thể sử dụng tệp .zip. URL để tải xuống tệp đã tải lên là:

https://github.com/downloads/user/repository/filename

Lưu ý rằng các URL được cung cấp ở trên, từ các liên kết trên github.com, sẽ chuyển hướng đến raw.githubusercontent.com. Bạn không nên trực tiếp sử dụng URL được cung cấp bởi chuyển hướng HTTP 302 này bởi vì, theo RFC 2616 : "Do việc chuyển hướng có thể bị thay đổi, nên khách hàng NÊN tiếp tục sử dụng URI yêu cầu cho các yêu cầu trong tương lai."


16
Lưu ý cho hậu thế: Tôi chỉ thử nghiệm nó và sử dụng nguyên liệu hoạt động tốt cho các tệp nhị phân.
emmby

1
đã cố gắng cho tệp zip ~ 10 MB bị lỗi: Lỗi: blob quá lớn
ina

32
Định dạng URL được đề xuất không hoạt động đối với tôi. Tôi thấy rằng https://raw.github.com/user/reposeective/branch/filename hoạt động.
Brian C.

5
@BrianC.: (Ít nhất là vào ngày 27 tháng 8 năm 2013) định dạng URL được đề cập trong câu trả lời ( rawsau tên kho lưu trữ) hiện được tự động chuyển hướng đến định dạng bạn đề cập (tên máy chủ raw.github.com). Khi nghi ngờ, hãy duyệt đến tệp được đề cập trên github.com và nhấp vào nút 'Nguyên'.
mkuity0

10
nếu bạn vẫn muốn sử dụng curl, hãy làm theo chuyển hướng bằng cách sử dụng tùy chọn -L trên dòng lệnh: curl -L -O github.com/user/reposeective/raw/branch/filename
Lynx-Lab

560
  1. Đi đến tệp bạn muốn tải xuống.
  2. Nhấp vào nó để xem nội dung trong Giao diện người dùng GitHub.
  3. Ở phía trên bên phải, click chuột phải các Rawnút.
  4. Lưu thành...

22
Thay vì "Lưu dưới dạng", hãy sao chép URL. Đó là URL của tập tin. Bây giờ bạn có thể tải xuống nó với bất kỳ công cụ nào sử dụng URL để tải xuống: wget, trình duyệt của bạn, v.v.
jgomo3

1
@MattParkins Tôi mới dùng thử và tôi nghĩ rằng nó hiện đang hoạt động đối với các tệp lớn (ngay cả tệp nhị phân với cảnh báo "chúng tôi không thể hiển thị các tệp lớn như vậy ngay bây giờ")
lmsurprenant

3
Dừng thực hiện các bước dài dòng này, sử dụng tiện ích mở rộng chrome này để làm. chrome.google.com/webstore/detail/github-mate/ Từ
Cam Song

3
Chúa ơi, một câu trả lời ngắn gọn, thẳng thắn, dễ hiểu, dễ đọc và dễ hiểu, không chỉ có ý nghĩa mà còn hoạt động mà không cần bất kỳ BS bên thứ 3 bên ngoài nào! Nếu chỉ có tất cả các câu trả lời StackOverflow là đơn giản này. Cảm ơn bạn.
Padawan

2
Điều này làm việc cho một tập tin C # duy nhất. Có lẽ github nên thêm một nút khác để tải xuống. Nhấp chuột phải vào một nút không phải là rất trực quan.
Nick

39

Bạn có thể sử dụng API V3 để nhận tệp thô như thế này (bạn sẽ cần mã thông báo OAuth):

curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://api.github.com/repos/owner/repo/contents/path

Tất cả điều này phải đi trên một dòng. Các -Otùy chọn lưu các tập tin trong thư mục hiện hành. Bạn có thể sử dụng -o filenameđể chỉ định một tên tệp khác.

Để nhận mã thông báo OAuth, hãy làm theo các hướng dẫn tại đây: https://help.github.com/articles/creating-an-access-token-for-command-line-use

Tôi cũng đã viết nó như một ý chính: https://gist.github.com/madrobby/9476733


4
Điều này là tốt, nhưng thật không may, nó chỉ hỗ trợ các tệp có kích thước tối đa 1 MiB.
Per Lundberg

1
Nếu thực hiện điều này trong một chương trình, hãy đảm bảo User-Agent được đặt.
Zugwalt

1
Bạn có thể cho một số ví dụ về con đường. Nếu bạn repo là my-repo và tệp bạn muốn nhận là ở x / y / z.txt thì URL sẽ là ... Thật khó để tìm ra rằng / chủ sở hữu / repo / nên được điền vào bởi tôi. Cảm ơn.
Xám

Điều này hoạt động tốt nhưng có một nhược điểm. Bạn không phải luôn luôn là phiên bản mới nhất của một tập tin. Cố gắng sửa đổi tệp, đừng chờ đợi quá nhiều và cố gắng truy xuất tệp bằng phương pháp này. Bạn sẽ chỉ nhận được phiên bản trước thay thế.
pacomix

34

Theo ý chính này , bạn có thể sử dụng wget hoặc cURL:

  1. Nhấp vào tên tệp trong repo GitHub.
  2. Nhấn Raw để hiển thị nội dung tập tin.
  3. Sao chép URL trong trình duyệt của bạn.
  4. Trong dòng lệnh, chạy một trong hai:

    • wget --no-check-certificate --content-disposition https://URL-from-step3/
    • curl -LJO https://URL-from-step3/

    Một cái nữa: trong RHEL7.6, chạy như sau:

    • wget https://URL-from-step3/ --output-document=FILE_NAME

Tôi đã sử dụng wgettheo đường dẫn thô đến tệp nguồn C mà tôi muốn sau khi xem tệp trong kho github và nhấp vào nút Nguyên. Làm việc như một nhà vô địch với Raspbian trên Raspberry Pi 3.
Richard Chambers

Tôi hơi trễ trò chơi, nhưng điều này làm việc hoàn hảo với tôi. Xem nội dung thô và sau đó nhấp chuột phải để tải xuống không hoạt động đối với trường hợp của tôi vì tôi cần tệp ở định dạng cụ thể do máy tính của tôi cung cấp. Các lệnh trong câu trả lời này tải xuống mọi thứ như mặc dù.
Seankala

16

GitHub Mate giúp tải xuống một tệp dễ dàng, chỉ cần nhấp vào biểu tượng để tải xuống, hiện tại nó chỉ hoạt động trên Chrome.

Tải xuống GitHub Mate


1
@jcollum Đã kiểm tra ngay bây giờ, làm việc cho tôi. Bạn có thể chắc chắn rằng bạn đang sử dụng phiên bản mới nhất? hoặc cho tôi biết lỗi. Vui mừng để giúp bạn làm cho nó hoạt động.
Cam Song

2
Tôi đang dùng phiên bản Chrome mới nhất, 34.0.1847.116 và điều này chắc chắn không hoạt động. Bạn đang sử dụng hệ điều hành nào? Tôi trên OS X Mavericks.
Jahkobi Kỹ thuật số

Tôi đã thử nghiệm trên Chrome 34 trong Windows 7 và OS X Mavericks, cả hai đều hoạt động. Khá lạ nếu không làm việc hả? Xin lưu ý rằng thư mục không thể tải xuống. Có lẽ bạn có thể thử trên một máy khác.
Cam Song

ok, phương pháp đó sẽ chỉ hoạt động nếu bạn có tiện ích mở rộng chrome. chrome.google.com/webstore/detail/github-mate/ từ
mờ

Từ quan điểm này, chỉ cần nhấp chuột phải và lưu dưới dạng tệp
Thierry Dalon

16

Bạn có thể sử dụng curlcách này:

curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file

Ocó nghĩa là curl tải nội dung
Lcó nghĩa là curl theo chuyển hướng


15

Điều này hiện có thể có trong GitHub cho bất kỳ tệp nào. Bạn cần dịch các tệp của mình cho raw.github.com. Ví dụ: nếu tệp của bạn nằm trong kho lưu trữ của bạn tại:

https://github.com/<username>/<repo>/some_directory/file.rb

Sử dụng wget bạn có thể lấy tệp thô từ:

https://raw.github.com/<username>/<repo>/<branch>/some_directory/file.rb

Rails Composer là một ví dụ tuyệt vời về điều này.


2
Một số tệp được lưu trữ trên raw.githubusercontent.com
jcollum

1
và đôi khi đó là raw2.github.com chỉ cần fyi
jeremy.bass

11

Có một phần mở rộng chrome được gọi là Tăng cường Github

Nó sẽ thêm một nút tải xuống trực tiếp ở bên phải của mỗi tệp.

nhập mô tả hình ảnh ở đây


Điều này tốt hơn Github Mate chỉ vì nó không yêu cầu quyền "Đọc tất cả lịch sử duyệt web của bạn"! Nhớ nhấp chuột phải vào nút tải xuống> Lưu liên kết dưới dạng.
Gh0sT

Cần thêm mã thông báo từ tài khoản GitHub của bạn.
BartusZak

cái này có an toàn để sử dụng không?
Arian saputra

1
@Ariansaputra Tôi đã sử dụng nó từ lâu rồi, chưa bao giờ gặp phải bất kỳ vấn đề nào. Nó nên được an toàn. Tôi không hiểu tại sao nó lại không như vậy
Abraham Murciano Benzadon

@AbrahamMurcianoBenzadon cảm ơn
Arian saputra

10

Để theo dõi những gì thomasfuchs đã nói nhưng thay vào đó, người dùng GitHub Enterprise đây là những gì bạn có thể sử dụng.

curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://your_domain/api/v3/repos/owner/repo/contents/path

Ngoài ra, đây là tài liệu API https://developer.github.com/v3/repose/contents


1
Bạn có thể cho một số ví dụ về con đường. Nếu bạn repo là my-repo và tệp bạn muốn nhận là ở x / y / z.txt thì URL sẽ là ... Cảm ơn
Gray

1
@Grayhttps://your_domain/api/v3/repos/{owner}/my-repo/contents/x/y/z.txt
Gregory Suvalian

nếu tôi muốn tải xuống một tập tin từ một chi nhánh? tôi làm nó như thế nào?
Carlos Andres

@CarlosAndres sử dụng tham số ref developer.github.com/v3/repose/contents/#parameter-1
Drew Michel

9

Trong trường hợp bạn muốn tải xuống một tệp zip từ githubbằng cách sử dụngwget

wget -O filename.zip https://github.com/downloads/user/repository/filename.zip?raw=true

xem trang web này để biết thêm chi tiết


Bạn có thể tải xuống bất kỳ tệp nào, không chỉ .zip.
enriquetaso

6

Phương pháp này hoạt động với Windows vì tôi chưa bao giờ sử dụng MAC vì vậy tôi không biết các phím thay thế trong MAC cho các phím mà tôi sẽ đề cập dưới đây là gì.

Hãy nói về các tệp CSV. NẾU bạn muốn tải xuống tệp CSV:

  1. Đi đến tập dữ liệu cụ thể mà bạn muốn tải xuống và nhấp vào nó.
  2. Bạn sẽ thấy nút "Nguyên" ở phía trên bên phải của tập dữ liệu.
  3. Nhấn "Alt" và sau đó nhấp chuột trái vào nút "Nguyên".
  4. Toàn bộ CSV sẽ tải xuống trong hệ thống của bạn.

Remeber, bạn phải nhấn Alt và nhấp chuột trái đồng thời. Chỉ cần nhấp vào nút "Nguyên" sẽ mở CSV trong trình duyệt.

Tôi hy vọng điều đó sẽ giúp.


5

Bạn chỉ nên làm điều đó với rawURL của tập tin của bạn.

Ví dụ: để tải xuống README của AFNetworking:

curl https://raw.githubusercontent.com/AFNetworking/AFNetworking/master/README.md > ADREADME.md 

Vì nó là một repo công khai nên bạn không cần bất kỳ thông tin xác thực nào. Xin lưu ý các loại url:raw.githubusercontent.com/path/to/file


4

Tóm tắt năm 2019

Có nhiều cách khác nhau để xử lý việc này, tùy thuộc vào mức độ lớn của tệp, bạn có cần tải xuống các thư mục ngoài tệp hay không và nếu bạn dự định thực hiện việc này theo cách thủ công hoặc lập trình.

Có sáu lựa chọn được tóm tắt dưới đây. Và đối với những người thích giải thích thực tế hơn, tôi đã tổng hợp một video YouTube: Tải xuống các tệp và thư mục riêng lẻ từ GitHub .

Ngoài ra, tôi đã đăng một câu trả lời tương tự trên StackOverflow cho những ai cần tải xuống các thư mục / thư mục đơn từ GitHub (trái ngược với các tệp).


1. Giao diện người dùng GitHub

  • Có một nút tải xuống trên hầu hết các hình ảnh.
  • Có một nút tải xuống trên trang chủ của kho lưu trữ. Tất nhiên, điều này tải xuống toàn bộ repo, sau đó bạn sẽ cần giải nén tải xuống và sau đó kéo ra các tệp cụ thể bạn cần.

2. Trình đơn ngữ cảnh trình duyệt

  • Chuyển đến tệp trên GitHub, nhấp chuột phải vào nút "Nguyên" để mở menu ngữ cảnh của trình duyệt. Từ đó, nếu bạn đang sử dụng Google Chrome, hãy chọn "Lưu liên kết dưới dạng ...". Các trình duyệt khác sẽ có giao diện người dùng tương tự, nhưng mô tả lựa chọn có thể khác nhau. Ví dụ: nó sẽ được liệt kê là "Tải xuống tệp được liên kết" và "Tải xuống tệp được liên kết dưới dạng" trên Safari.

3. Công cụ của bên thứ ba

  • Có rất nhiều tiện ích mở rộng trình duyệt và ứng dụng web có thể xử lý việc này, với DownGit là một trong số đó. Chỉ cần dán URL GitHub vào tệp và nhấn nút "Tải xuống". Lưu ý rằng liên kết phải là chế độ xem kho lưu trữ được lưu trữ trên GitHub.com, trái ngược với liên kết tệp trực tiếp. Ví dụ liên kết tệp : https://github.com/babel/babel-eslint/blob/master/lib/parse.js.

4. lật đổ

  • GitHub không hỗ trợ git-archive (tính năng git cho phép chúng tôi tải xuống các tệp cụ thể). Tuy nhiên, GitHub hỗ trợ nhiều tính năng Subversion, một trong số đó chúng ta có thể sử dụng cho mục đích này. Subversion là một hệ thống kiểm soát phiên bản (thay thế cho git). Bạn sẽ cần Subversion cài đặt. Lấy URL GitHub cho tệp bạn muốn tải xuống. Bạn sẽ cần phải sửa đổi URL này, mặc dù. Bạn muốn liên kết đến kho lưu trữ, theo sau là từ "thân cây" và kết thúc bằng đường dẫn đến tệp lồng nhau. Nói cách khác, sử dụng cùng một liên kết tệp mà tôi đã đề cập ở trên, chúng tôi sẽ thay thế "blob / master" bằng "trunk". Cuối cùng, mở một thiết bị đầu cuối, điều hướng đến thư mục mà bạn muốn tải xuống nội dung, nhập lệnh sau (thay thế URL bằng URL bạn đã tạo):svn export https://github.com/babel/babel-eslint/trunk/lib/parse.js

5. CURL

  • Bạn sẽ cần cài đặt cURL. Truy cập tệp trên GitHub.com, nhấp chuột trái vào nút "Nguyên" để truy cập liên kết tệp trực tiếp, sao chép URL này, mở một thiết bị đầu cuối, điều hướng đến thư mục mà bạn muốn tải xuống nội dung, nhập vào theo lệnh, thay thế tên tệp bằng bất cứ thứ gì bạn muốn đặt tên và thay thế URL bằng tên bạn vừa sao chép : curl -o parse.js https://raw.githubusercontent.com/babel/babel-eslint/master/lib/parse.js.

6. API GitHub

  • Đây thực sự là những gì DownGit đang sử dụng dưới mui xe. Sử dụng API REST của GitHub , tạo yêu cầu GET đến điểm cuối nội dung. Điểm cuối có thể được xây dựng như sau : https://api.github.com/repos/:owner/:repo/contents/:path. Sau khi thay thế chỗ dành sẵn, một điểm cuối ví dụ là : https://api.github.com/repos/babel/babel-eslint/contents/lib/parse.js. Điều này cung cấp cho bạn dữ liệu JSON cho tệp đó, bao gồm URL tải xuống (cùng một URL tải xuống mà chúng tôi đã sử dụng trong ví dụ cURL ở trên). Tuy nhiên, phương pháp này không hữu ích cho một tệp duy nhất (bạn có thể sử dụng nó để tải xuống một thư mục cụ thể, như chi tiết trong câu trả lời mà tôi đã liên kết ở trên).

Theo hiểu biết của tôi rằng các nút tải xuống không tải xuống toàn bộ repo ... tôi có thể sai. đây là một ví dụ: github.com/googleapis/google-api-php-client nếu bạn tải xuống kho lưu trữ, bạn sẽ không nhận được thư mục ví dụ; bạn phải thay đổi chi nhánh để làm điều đó
albert

1
@albert Bắt tốt. Đó thực sự là vì họ đặc biệt loại trừ các thư mục / tệp cụ thể trong tệp .gitattribut: github.com/googleapis/google-api-php-client/blob/master/iêu
jabacchetta

Rất vui, cảm ơn vì đã chia sẻ điều đó! TIL ...
albert

4

Tính năng phát hành GitHub

Thay vì liên kết để tải xuống một tệp cụ thể trong repo, bạn nên sử dụng tính năng Phát hành của GitHub để liên kết dữ liệu có thể tải xuống (như tệp nhị phân được biên dịch) với phiên bản được gắn thẻ của mã nguồn được sử dụng để tạo dữ liệu đó.

https://github.com/blog/1547-release-your-software

Chúng tôi rất vui mừng thông báo Phát hành, một quy trình làm việc cho phần mềm vận chuyển đến người dùng cuối. Các bản phát hành là các đối tượng hạng nhất với các thay đổi và tài sản nhị phân thể hiện toàn bộ lịch sử dự án ngoài các tạo phẩm Git.

Các bản phát hành được kèm theo ghi chú phát hành và liên kết để tải xuống phần mềm hoặc mã nguồn.

Theo các quy ước của nhiều dự án Git, các bản phát hành được gắn với các thẻ Git. Bạn có thể sử dụng thẻ hiện có hoặc để các bản phát hành tạo thẻ khi nó được xuất bản.

nhập mô tả hình ảnh ở đây


1
Đúng! Đây là giải pháp đơn giản nhất, có thể thực hiện được ngay từ trình duyệt của bạn! 1. Từ trang chính của kho lưu trữ của bạn, chọn releases2. Nhấp vào số cam kết. 3. Tìm tệp bạn muốn, nhấp vào ba dấu chấm ...và chọn View file4. Nhấp vào View rawđể tải xuống tệp !!!
Jonathan Benn

3

Điều này chắc chắn sẽ làm việc. Ít nhất là trong Chrome. Nhấp chuột phải vào biểu tượng "Nguyên" -> Lưu Liên kết dưới dạng .


1
Điều này sẽ lưu tệp HTML của trang github, bao gồm trình bao bọc github xung quanh tệp.
Gregor Thomas

@Gregor - FYI, Không nên, ít nhất là đối với các trang có văn bản. Nếu nghi ngờ, hãy nhấp vào biểu tượng "Nguyên". Điều này sẽ mở tệp văn bản trong trình duyệt, KHÔNG CÓ bất kỳ HTML nào. Bây giờ rt bấm vào bất cứ nơi nào trên trang và làm "Lưu dưới dạng ...". (Hoặc chọn Chọn tất cả / Sao chép, sau đó Dán bất cứ nơi nào bạn muốn)
ToolmakerSteve

3

Để tải xuống tệp từ repo Github, hãy sử dụng lệnh 'curl' với liên kết đến tệp thô.

curl https://raw.githubusercontent.com/user/repo/filename --output filename

Thêm tùy chọn --output theo sau là tên tệp mới để tải xuống tệp thô vào tệp vừa tạo.


2
  1. Trang bạn liên kết để trả lời câu hỏi đầu tiên.

  2. GitHub cũng có một tiện ích tải xuống cho những thứ như bản phát hành.

  3. Google Code hoàn toàn không có Git .

  4. GitHub, Google Code và SourceForge , chỉ để bắt đầu, là lưu trữ miễn phí. SourceForge vẫn có thể làm CVS .


2

Gần đây tôi đã tìm thấy một dịch vụ được gọi gitzipvà nó cũng là nguồn mở:

trang web - http://kinolien.github.io/gitzip/

repo - https://github.com/KinoLien/gitzip

Vist trang web trên, nhập URL repo hoặc thư mục, bạn có thể tải xuống các tệp riêng lẻ hoặc toàn bộ thư mục dưới dạng tệp zip.


Nhưng làm thế nào để tôi chỉ tải xuống jszip.min.jstừ kho lưu trữ đó? mặt troll
Levi Fuller

mở tệp trong github và sau đó đi đến raw. Bạn sẽ thấy mã nguồn của tệp và sau đó bạn có thể tải xuống bằng trình duyệt bằng chuột phải và lưu dưới dạng. Nó làm việc cho tôi.
Boris

2

Bây giờ có thể tải xuống bất kỳ tệp hoặc bất kỳ thư mục cụ thể nào trong kho lưu trữ bằng cách sử dụng phần mở rộng Google chrome này:

GitZip cho github: link: https://chrom.google.com.vn/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn

Sử dụng :

  1. Trong bất kỳ trang repos nào của GitHub.
  2. Chỉ cần nhấp đúp chuột vào các mục bạn cần.
  3. Nhấp vào nút tải xuống ở dưới cùng bên phải.
  4. Xem bảng điều khiển tiến trình và chờ tải xuống kích hoạt trình duyệt.
  5. Lấy tập tin ZIP.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây



1

Nếu bạn tình cờ sử dụng curl và firefox ... bạn có thể sử dụng tiện ích bổ sung cliget để tạo cuộc gọi curl bao gồm tất cả các cơ chế xác thực (còn gọi là cookie).

Vì vậy, nhấp chuột phải vào rawnút cliget -> "sao chép url cho liên kết" và sau đó dán nó vào vỏ. Bạn sẽ nhận được tệp của mình ngay cả khi bạn phải đăng nhập để xem nó.


0
  1. Ở phía bên phải ngay bên dưới "Clone in Desktop" có ghi "Tải xuống tệp Zip"
  2. Tải xuống tập tin Zip
  3. Giải nén tập tin

Có cách nào để làm điều này theo cách mà bạn có nội dung tệp lfs không?


0

Hoặc thử cái này

const https = require('https');
const fs = require('fs');
const DOMAIN = 'raw.githubusercontent.com';

function writeFile(data, fileName) {
  fs.appendFile(fileName, data.toString(), err => {
    if (err) {
      console.log('error in writing file', err);
    }
  });
}

function EOF(data) {
  console.log('EOF');
}

function getFileName(pathToFile) {
  var result = pathToFile.split('/');
  var splitLength = result.length;
  return result[splitLength - 1];
}
function getFile(branchName, username, repoName, ...pathToFile) {
  pathToFile.forEach(item => {
    const path = `/${username}/${repoName}/${branchName}/${item}`;
    const URL = `${DOMAIN}${path}`;
    const options = {
      hostname: DOMAIN,
      path: path
    };
    var fileName = getFileName(item);

    https
      .get(options, function(res) {
        console.log(res.statusCode);
        /* if file not found */
        if (res.statusCode === 404) {
          console.log('FILE NOT FOUND');
        } else {
          /* if file found */
          res.on('data', data => writeFile(data, fileName));
          res.on('end', data => EOF(data));
        }
      })
      .on('error', function(res) {
        console.log('error in reading URL');
      });
  });
}
getFile('master', 'bansalAyush', 'InstagramClone', '.babelrc', 'README.md');

0

Tôi đã sử dụng định dạng sau và tôi cảm thấy việc thông báo về đường dẫn là rất quan trọng.

https://github.com/user/repository/raw/branch/filename

^^ ^ ở trên không hoàn chỉnh trong tâm trí của tôi

https://github.com/<user>/<repoROOTname>/blob/master/<path>/<filename>?raw=true

một số người nói raw.github.com hoặc raw thay vì blob, nhưng dòng thứ 2 hoạt động với tôi và tôi hy vọng sẽ giúp được những người khác ...

2


0

Bạn có thể thử github-files-fetcher , đây là một công cụ dòng lệnh tải xuống một thư mục hoặc tệp từ một repo GitHub.

Hãy suy nghĩ một kịch bản thực tế: bạn đã truy cập trang web sau đây và muốn tải xuống asyncthư mục con một mình.

https://github.com/reduxjs/redux/tree/master/examples

xin lỗi vì không được phép đăng hình ảnh

Với The github-files-fetcher, trước tiên bạn nên sao chép urltrang đó, đó là https://github.com/reduxjs/redux/tree/master/examples/async , sau đó chạy lệnh bên dưới trong dòng lệnh:

fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async


-2

Đây là những gì làm việc cho tôi bây giờ ...

  1. Mở tệp thô trong một tab riêng biệt.

  2. Sao chép toàn bộ điều trong notepad của bạn trong một tập tin mới.

  3. Lưu tệp trong phần mở rộng ban đầu

đã thử nghiệm với một tệp php mà tôi vừa tải xuống (tại thời điểm trả lời)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.