Làm cách nào để tải nguồn ở định dạng ZIP từ GitHub?


256

Tôi thấy một cái gì đó kỳ lạ như:

http://github.com/zoul/Finch.git

Bây giờ tôi không phải là CVS, SVN, v.v. Khi tôi mở nó trong trình duyệt, nó cho tôi biết rằng tôi đã làm gì đó sai. Vì vậy, tôi đặt cược tôi cần một số công cụ kiểu hacker? Một số khách hàng?

(Ý tôi là ... tại sao không chỉ cung cấp tệp ZIP? Thế giới này có đủ phức tạp không?)

Câu trả lời:


192

Để sao chép kho lưu trữ đó thông qua một URL như thế: có, bạn cần một khách hàng và khách hàng đó là Git . Điều đó sẽ cho phép bạn thực hiện các thay đổi, các chi nhánh của riêng bạn, hợp nhất trở lại đồng bộ hóa với các nhà phát triển khác, duy trì nguồn của riêng bạn để bạn có thể dễ dàng cập nhật mà không cần tải xuống toàn bộ mỗi lần và viết lên các thay đổi của riêng bạn, v.v. Sẽ không để bạn làm điều đó.

Nó chủ yếu dành cho những người muốn phát triển nguồn chứ không phải những người chỉ muốn lấy nguồn đó và không thay đổi.

Nhưng điều đó cũng xảy ra, bạn cũng có thể nhận được một tệp ZIP:

Nhấp vào http://github.com/zoul/Finch/ và sau đó nhấp vào Clone or Downloadnút màu xanh lá cây . Xem tại đây:

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


2
Có cách nào để không phải tải xuống toàn bộ kho lưu trữ không? Nói, nếu kho lưu trữ là một repo "plugin" và bạn chỉ muốn một plugin?
Mala

2
không phải không sử dụng API Github theo như tôi biết.
Christoph

197

Điều gì xảy ra khi chủ sở hữu kho lưu trữ chưa chuẩn bị tệp zip và bạn chỉ muốn tải xuống để sử dụng cho mình? Có một câu trả lời và bạn không cần phải thực hiện quy trình khủng khiếp đó để tải xuống phần mềm, cài đặt và đăng ký khóa và không có gì trên GitHub, v.v.!

Để chỉ cần tải xuống kho lưu trữ dưới dạng tệp zip: thêm đường dẫn bổ sung '/ zipball / master /' vào cuối URL kho lưu trữ và voila, nó cung cấp cho bạn một tệp zip của toàn bộ lô.

Ví dụ,

http://github.com/zoul/Finch/

trở thành:

http://github.com/zoul/Finch/zipball/master/

Sau đó nó cung cấp cho bạn một tệp zip để tải xuống.


1
CẢM ƠN BẠN! Tôi cần tải xuống mã từ kho lưu trữ không có tệp zip và điều này hoạt động hoàn hảo. Tôi sẽ không bao giờ tìm ra những gì tôi đang làm từ sự giúp đỡ của github.
weronika

3
Thông tin tuyệt vời bạn của tôi. Đã có nhiều lần tôi muốn tải xuống các nhánh khác nhau mà không phải cài đặt git. Thành thật mà nói tôi không hiểu tại sao lại không có liên kết cho việc này ...
Zaptree

4
Mong muốn điều này có hiệu quả, nhưng không có may mắn ở đây: github.com/facebook/php-webdo - khi tôi thêm "zipball / master /" vào cuối URL đó, tôi vừa nhận được thông báo lỗi. Tôi đang lặp lại bình luận viên ban đầu ... Tôi chỉ không hiểu tại sao việc tải xuống mã nguồn mà tôi thấy trên github lại khó khăn đến vậy. Tôi không muốn một khách hàng git, tôi không muốn học git, tôi chỉ muốn kéo xuống các tập tin ngay trước mặt tôi :-)
Eric

2
@Eric - nó hoạt động với tôi: github.com/facebook/php-webdo/zipball/master
scubasteve

2
Mẹo tuyệt vời! Chỉ cần chắc chắn rằng bạn đang ở thư mục trên cùng của kho lưu trữ khi thêm / zipball / master /.
Peter H

170

Cập nhật tháng 7 năm 2016

Kể từ tháng 7 năm 2016 , Download ZIPnút này đã chuyển Clone or download sang cực bên phải của tiêu đề trong Codetab:

Tải xuống ZIP (2013)


Nếu bạn không thấy nút:

  • Đảm bảo bạn đã chọn <> Codetab từ menu điều hướng bên phải hoặc
  • Repo có thể không có một zip được chuẩn bị. Thêm /archive/master.zipvào cuối URL kho lưu trữ và để tạo một tệp zip của nhánh chính:

http://github.com/user/repository/ -để-> http://github.com/user/repository/archive/master.zip

để lấy mã nguồn nhánh chính trong tệp zip. Bạn có thể làm tương tự với các thẻ và tên chi nhánh, bằng cách thay thế mastertrong URL ở trên bằng tên của chi nhánh hoặc thẻ.


4
Ngoài ra, nếu bạn muốn một tarball thay vì zip, bạn có thể thay đổi URL đó để nói ".tar.gz" ở cuối.
Eric

3
Có vẻ như <> Code được chọn theo mặc định, nhưng không phải vậy. Nhấn vào nó!
Steve Wash

Cảm ơn @SteveWash. Điều đó thật điên rồ. Tôi cũng nghĩ rằng tab Code đã được chọn. Đó là giao diện người dùng thực sự kém (nhưng, được thôi, một khi bạn học được mẹo đó, bạn sẽ biết nó mãi mãi ..)
Mike Gledhill

Nếu bạn đặt tên cho thẻ của mình như thế nào v1.0, tệp zip sẽ bỏ qua v& tải xuống repo-1.0. Đó có phải là một lỗi với github?
Debaprio B

40

Để tải xuống kho lưu trữ của bạn dưới dạng tệp zip qua curl:

curl -L -o master.zip http://github.com/zoul/Finch/zipball/master/

Nếu kho lưu trữ của bạn là riêng tư:

curl -u 'username' -L -o master.zip http://github.com/zoul/Finch/zipball/master/

Nguồn: Trợ giúp Github


ngọt! Làm việc như một cơ duyên, tôi có giới hạn cấp phép trong một hệ thống không có trình duyệt và đây là thứ tôi cần!
HoofarLotusX

Với wget nó thậm chí còn ngắn hơn:wget https://github.com/zoul/Finch/archive/master.zip
Noam Manos

25

Kể từ tháng 12 năm 2016, Clone or downloadnút vẫn ở dưới <> Codetab, tuy nhiên giờ đây nó nằm ở bên phải của tiêu đề:

Github Clone hoặc tải xuống ảnh chụp màn hình


Điều này có áp dụng cho bố cục cũ không?
Makoto


Có lẽ vì bạn chưa đăng nhập. Tôi mới kiểm tra và github đã thay đổi bố cục một chút. Tuy nhiên, nút hiện có màu xanh lá cây và được gắn nhãn "Sao chép hoặc tải xuống" (đối với kho lưu trữ của bạn, nút tải xuống liên kết đến: github.com/Antonioya/blender/archive/master.zip )
Bendy

1
Tôi đã đăng nhập và vẫn không thấy bất kỳ nút màu xanh lá cây nào - thay vì "Sao chép hoặc tải xuống", nó ghi "Lịch sử"
Miryafa

1
@Miryafa Vì tải xuống bị vô hiệu hóa cho kho lưu trữ đó. Kiểm tra ghi chú trên Readme. Nó nói, "*** THÔNG BÁO *** Biện pháp hiện là một phần của bản phát hành chính thức của Blender, vì vậy kho Git này chỉ mang tính tham khảo. Nếu bạn muốn tải xuống các phiên bản mới nhất hoặc báo cáo lỗi, vui lòng sử dụng trang web Blender."
Anwar


8

Mặc dù đây là một câu hỏi khá cũ, tôi có 2 xu để chia sẻ.

Bạn cũng có thể tải xuống repo dưới dạng tar.gz

Giống như zipball liên kết được chỉ ra bởi các câu trả lời khác nhau ở đây, Có một tarballliên kết cũng tải xuống nội dung của kho git ở tar.gzđịnh dạng.

curl -L http://github.com/zoul/Finch/tarball/master/

Một cách tốt hơn

Git cũng cung cấp một mẫu URL khác trong đó bạn có thể chỉ cần nối thêm loại tệp bạn muốn tải xuống ở cuối url. Cách này tốt hơn nếu bạn muốn xử lý các url này trong một tập lệnh bó hoặc bash.

curl -L http://github.com/zoul/Finch/archive/master.zip

curl -L http://github.com/zoul/Finch/archive/master.tar.gz

Để tải về một cam kết hoặc chi nhánh cụ thể

Thay thế masterbằng commit-hashhoặc branch-nametrong các url ở trên như dưới đây.

curl -L http://github.com/zoul/Finch/archive/cfeb671ac55f6b1aba6ed28b9bc9b246e0e.zip    
curl -L http://github.com/zoul/Finch/archive/cfeb671ac55f6b1aba6ed28b9bc9b246e0e.tar.gz

curl -L http://github.com/zoul/Finch/archive/your-branch-name.zip
curl -L http://github.com/zoul/Finch/archive/your-branch-name.tar.gz

6

Tôi cũng đã bị bối rối bởi điều này. Nút "Tải xuống" nằm ở bên phải, nhưng bạn cũng cần nằm trong thư mục trên cùng để tải xuống những gì bạn đang thấy. Đi lên cao nhất có thể đến thư mục gốc / thư mục gốc và sau đó tìm nút tải xuống.


1

Đôi khi, nếu nút 'Tải xuống ZIP' không khả dụng, bạn có thể nhấp vào 'Nguyên' và tệp sẽ tải xuống hệ thống của bạn.


Hoặc, như được đề cập ở những nơi khác trên trang này, ngay cả khi tab "Mã" có vẻ được chọn ... có thể không. Nhấp vào "Mã" lần nữa và xem nút "Sao chép hoặc tải xuống" có xuất hiện không.
Mike Gledhill


0

Tôi đã phải đối mặt với cùng một vấn đề nhưng vô tình tôi đã sắp xếp vấn đề này. 1) Đăng nhập vào github 2) Nhấp vào nút Fork ở trên cùng bên phải. 3) Sau bước trên, bạn có thể thấy Bản sao hoặc tải xuống màu Xanh lục trong <> Tab Code.


0

Bạn cũng có thể xuất bản bản phát hành phiên bản trên Github và có tùy chọn tải xuống mã nguồn của bản phát hành đó trong tệp zip.

Sau đó, bạn có thể chia sẻ liên kết tệp zip cho bất kỳ ai để tải xuống mã nguồn dự án.


0

Trong chrome, nếu bạn di con trỏ lên Tải xuống ZIP, nó sẽ cung cấp cho bạn liên kết ở cuối trình duyệt

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

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.