Trang riêng cho một repo Github riêng tư


244

Không thể tìm thấy bất cứ điều gì trong tài liệu github và ở đây trên SO. Nhưng tôi đã tự hỏi nếu có thể có một http://foo.github.comkho lưu trữ riêng có tên footruy cập chỉ có một người có quyền truy cập vào fookho lưu trữ.

Tôi nhớ đã đọc một cái gì đó về các trang github luôn được công khai nhưng dường như không thể tìm thấy điều đó nữa.

Và thật ngạc nhiên, tôi dường như không thể tìm thấy ai khác đặt câu hỏi.


2
Tôi cho rằng sau đó không có nhiều người đang sử dụng Github để lưu trữ repos riêng. Hoặc ít nhất, rất ít trong số đó đang sử dụng gh-page.
Siddhartha Reddy

Tôi nghĩ rằng câu trả lời đúng bây giờ sẽ là stackoverflow.com/a/54340540/1168342
Fuhrmanator

Câu trả lời:


219

Tôi đã tăng một vé hỗ trợ chống lại Github và nhận được phản hồi xác nhận thực tế là TẤT CẢ các trang đều được công khai. Bây giờ tôi đã yêu cầu họ thêm ghi chú vào help.github.com/pages.


6
Các trang của bạn phải được công khai để các trang GitHub hoạt động?
Dennis

34
@Dennis: Không, không - repo của bạn có thể là riêng tư. Nhưng các trang được xuất bản sẽ ở chế độ công khai và GitHub không có cách tích hợp để hạn chế quyền truy cập xem chỉ cho phép những người đóng góp trên repo riêng đó xem chúng.
Merlyn Morgan-Graham

6
FYI có thể được nhìn thấy RẤT R CLE RÀNG ở đây
Derek Adair

//, Kiểm soát truy cập là một vấn đề rất thú vị đối với Github. Tôi thích điều này đang được chú ý, @kashyap! Cảm ơn.
Nathan Basan

Thêm vào bình luận @Derek Adair ở trên. Trang web cho biết: "Cảnh báo: Các trang GitHub Pages có sẵn công khai trên internet, ngay cả khi kho của chúng là riêng tư. Nếu bạn có dữ liệu nhạy cảm trong kho lưu trữ Trang của mình, bạn có thể muốn xóa nó trước khi xuất bản."
Jay Killeen

62

Theo tài liệu của GitHub Pages :

Tất cả các kho dự án đã sẵn sàng để sử dụng trình tạo để xuất bản. Tuy nhiên, xin lưu ý rằng các kho riêng sẽ xuất bản các trang công khai.

Vì vậy, không, tại thời điểm này không có cách nào để tạo các trang GitHub riêng tư từ kho lưu trữ GitHub riêng tư.

BIÊN TẬP:

Cách giải quyết đơn giản

Một cách giải quyết cho một số tình huống có thể hữu ích là chỉ cần đổi tên repo thành một cái gì đó không phải là định dạng trang GitHub trong khi bạn muốn nó ở chế độ riêng tư (ví dụ như trong giai đoạn phát triển) và khi sẵn sàng để công khai thì hãy sửa tên. Rõ ràng điều này vẫn không có ích nếu bạn đang tìm cách xuất bản các trang có xác thực, nhưng nếu bạn chỉ muốn ẩn dự án trang GH trong khi nó đang diễn ra, điều này có thể giúp ích.

Trình bao bọc Auth thực tế cho Jekyll (trang GitHub)

Ngoài ra, có một dự án tên là Jekyll AuthGitHubber @benbalter đã thực hiện để sử dụng. Jekyll Auth cung cấp trình bao bọc xác thực cơ bản cho các dự án jekyll, bao gồm các trang GitHub. Xem README của repo để sử dụng.


1
Có vẻ như liên kết đầu tiên là cũ. help.github.com/articles/what-is-github-pages hiện có cảnh báo tương tự.
triệt để 101

14

Các page.github.com không đề cập đến:

Trang Github được lưu trữ miễn phí và dễ dàng xuất bản thông qua trang web của chúng tôi,

Mà không bao giờ đề cập đến kiểm soát truy cập.

Các trang GitHub giúp đỡ không đề cập đến bất kỳ ACL một trong hai.
Chúng được quản lý tốt nhất trong một nhánh gh-page và có thể được quản lý theo mô hình con riêng của chúng .
Nhưng một lần nữa, không có bất kỳ hạn chế nào về khả năng hiển thị một lần được xuất bản bởi GitHub.


14
Thật. Tất cả các trang là công khai. Tôi đã nhận được phản hồi (trên một vé hỗ trợ) từ github xác nhận điều này.
kashyap

13

Nhiều câu trả lời đã lỗi thời (mua lại trước Microsoft / repos riêng miễn phí). Điều này đã được viết sau khi thông báo của repos tư nhân miễn phí .

Các trang Github không có sẵn trên các repos riêng miễn phí cho các cá nhân, như được hiển thị trong cài đặt repo:

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

2020 (kế hoạch cơ bản nhất hiện nay là "Đội"):

nâng cấp lên nhóm github hoặc đặt công khai reposiory này để kích hoạt Trang


5
Đây là một người ồn ào. Quảng cáo với tiếng chuông và huýt sáo có sẵn miễn phí của các repos tư nhân nhưng họ đã cắt giảm chúng một cách ồ ạt.
Robert Estivill

9

Có một bài viết với ý tưởng làm việc về cách yêu cầu ủy quyền oAuth trước khi tải động nội dung tĩnh:

Bảo mật trang web chạy trên các trang Github với phần cuối JSON trong kho lưu trữ riêng

Nội dung nên được lưu trữ trong kho lưu trữ GitHub bí mật với người xem có quyền truy cập đọc vào nó. Các trang GitHub chỉ lưu trữ mã JS phục vụ.


Điều này tốt hơn nhiều so với việc sử dụng hasdocs, vì bạn không cần phải cấp quyền cho repo của mình cho ứng dụng bên thứ ba không đáng tin cậy.
Tommz

8

Như đã nêu ở trên, các trang Github không hỗ trợ chức năng đó. Tôi gặp vấn đề tương tự khi nhóm của chúng tôi quyết định lưu trữ tài liệu dự án (HTML tĩnh) bên trong và riêng tư.

Cuối cùng tôi đã tạo ra một dịch vụ https://www.privatehub.cloud Về cơ bản, nó là một máy chủ proxy đơn giản với xác thực Github OAuth, vì vậy nó chỉ trả về nội dung kho lưu trữ GitHub của bạn với loại MIME phù hợp. Theo thiết kế, chỉ những người có quyền truy cập foomới có thể xem foonội dung tại https://bar-foo.privatehub.cloud. Từ quan điểm chức năng, bạn có thể nghĩ về nó như một trang GitHub được đơn giản hóa với xác thực tích hợp.

Thật không may, Github OAuth không cho phép yêu cầu read-onlyquyền truy cập vào repos riêng, vì vậy máy chủ cần quyền truy cập đầy đủ (rõ ràng, nó không ghi bất cứ điều gì vào repo của bạn). Vì API GitHub chỉ cho phép truy xuất các tệp dưới 1 Mb, dịch vụ không thể trả về các tệp lớn hơn. Tuy nhiên, tôi thấy dịch vụ này khá phù hợp cho các dự án nhỏ cho tài liệu nội bộ hoặc phiên bản dàn dựng của một trang web.


1
Lưu ý: dịch vụ này hiện đã chết (hoặc có khả năng bị sập tạm thời)
Jason Axelson

1

Nếu bạn nhấn admin trên một repo riêng và cuộn xuống phần về các trang, nó sẽ viết rằng nó sẽ được công khai. Tôi sẽ kiểm tra sau nếu kiểm soát .htaccess hoặc tương tự là có thể, nhưng tôi không có nhiều hy vọng cho nó.


1
Phương thức .htaccess không hoạt động. Nếu có bất kỳ đề xuất hữu ích nào hãy cho tôi biết :)
Rohde Fischer

Tôi cũng không thể tìm thấy bất cứ điều gì. Tôi đoán vấn đề này đã được đóng lại bây giờ.
kashyap


-3

Bạn có thể lưu trữ mật khẩu trong một kho lưu trữ và sau đó chỉ cần ẩn trang đằng sau địa chỉ ẩn, được lấy từ mật khẩu đó. Đây không phải là một cách rất an toàn, nhưng nó đơn giản.

Trình diễn

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.