หน้าส่วนตัวสำหรับ repo Github ส่วนตัว


244

ไม่พบสิ่งใดในเอกสาร GitHub และที่นี่บน SO แต่ฉันสงสัยว่าอาจมีhttp://foo.github.comพื้นที่เก็บข้อมูลส่วนตัวชื่อfooซึ่งสามารถเข้าถึงได้เพียงคนเดียวที่มีการเข้าถึงfooพื้นที่เก็บข้อมูลตัวเอง

ฉันจำได้ว่าได้อ่านอะไรบางอย่างเกี่ยวกับหน้าเว็บ GitHub ที่เป็นสาธารณะ แต่ดูเหมือนจะไม่สามารถหามันได้อีก

และน่าประหลาดใจที่ฉันไม่สามารถหาคนอื่นถามคำถามได้


2
ฉันคิดว่ามีคนไม่มากนักที่ใช้ Github ในการจัดเก็บ repos ส่วนตัว หรืออย่างน้อยก็มีน้อยคนที่ใช้ gh-pages
Siddhartha Reddy

ฉันคิดว่าคำตอบที่ถูกต้องควรเป็นstackoverflow.com/a/54340540/1168342
Fuhrmanator

คำตอบ:


219

ฉันยกตั๋วการสนับสนุนกับ Github และได้รับการตอบกลับเพื่อยืนยันความจริงที่ว่าทุกหน้าเป็นสาธารณะ ตอนนี้ฉันขอให้พวกเขาเพิ่มบันทึกย่อไปยัง help.github.com/pages


6
หน้า repo ของคุณต้องเป็นสาธารณะเพื่อให้หน้า GitHub ทำงานได้หรือไม่
Dennis

34
@Dennis: ไม่ไม่ - repo ของคุณสามารถเป็นส่วนตัวได้ แต่หน้าที่เผยแพร่จะเป็นสาธารณะและ GitHub ไม่มีวิธีการ จำกัด การเข้าถึงการดูเพื่อให้ผู้มีส่วนร่วมใน repo ส่วนตัวนั้นเห็นเท่านั้น
Merlyn Morgan-Graham

6
FYI สามารถเห็นได้ชัดเจนมากที่นี่
Derek Adair

//, การควบคุมการเข้าถึงเป็นปัญหาที่น่าสนใจสำหรับ Github ฉันชอบที่นี่กำลังได้รับความสนใจ @kashyap! ขอบคุณ
นาธาน Basanese

กำลังเพิ่มความคิดเห็น @Derek Adair ด้านบน ไซต์แจ้งว่า: "คำเตือน: ไซต์ GitHub เพจนั้นมีให้บริการแบบสาธารณะบนอินเทอร์เน็ตแม้ว่าที่เก็บของพวกเขาจะเป็นส่วนตัวหากคุณมีข้อมูลที่ละเอียดอ่อนในที่เก็บเพจของคุณคุณอาจต้องการลบออกก่อนเผยแพร่"
Jay Killeen

62

ตามเอกสารของ GitHub Pages :

ที่เก็บโครงการทั้งหมดพร้อมใช้เครื่องกำเนิดสำหรับการเผยแพร่ อย่างไรก็ตามโปรดทราบว่าที่เก็บส่วนตัวจะเผยแพร่หน้าเว็บที่เป็นสาธารณะ

ดังนั้นไม่ในเวลานี้ไม่มีวิธีสร้างหน้า GitHub ส่วนตัวจากพื้นที่เก็บข้อมูลส่วนตัว GitHub

แก้ไข:

วิธีแก้ปัญหาง่ายๆ

วิธีแก้ปัญหาสำหรับบางสถานการณ์ที่อาจเป็นประโยชน์คือเปลี่ยนชื่อ repo เป็นรูปแบบอื่นนอกเหนือจากรูปแบบหน้า GitHub ในขณะที่คุณต้องการให้เป็นแบบส่วนตัว (เช่นในช่วงการพัฒนา) และเมื่อพร้อมที่จะทำให้เป็นสาธารณะแล้วแก้ไขชื่อให้ถูกต้อง เห็นได้ชัดว่านี่ยังไม่ช่วยถ้าคุณกำลังมองหาวิธีที่จะเผยแพร่หน้าเว็บที่มีการรับรองความถูกต้อง แต่ถ้าคุณเพียงแค่ต้องการซ่อนโครงการหน้า GH ในขณะที่กำลังดำเนินการอยู่สิ่งนี้อาจช่วยได้

Auth Wrapper ที่แท้จริงสำหรับ Jekyll (หน้า GitHub)

อีกวิธีหนึ่งคือมีโครงการที่เรียกว่าJekyll Authที่GitHubber @benbalterสร้างขึ้นเพื่อใช้งาน Jekyll Auth จัดเตรียม wrapper การพิสูจน์ตัวตนพื้นฐานสำหรับโครงการ jekyll รวมถึงหน้า GitHub ดู README ของ repoเพื่อการใช้งาน


1
ดูเหมือนว่าลิงก์แรกนั้นเก่า help.github.com/articles/what-is-github-pagesตอนนี้มีคำเตือนที่คล้ายกัน
radicaledward101

14

page.github.comไม่เอ่ยถึง:

Github Pages นั้นโฮสต์และเผยแพร่ฟรีผ่านเว็บไซต์ของเรา

โดยไม่ต้องพูดถึงการควบคุมการเข้าถึง

ความช่วยเหลือของหน้า GitHubไม่ได้กล่าวถึง ACL ใด ๆ
พวกเขามีการจัดการที่ดีที่สุดในสาขา GH-หน้าและสามารถจัดการได้ในsubmodule ของตัวเอง
แต่อีกครั้งโดยไม่มีข้อ จำกัด ใด ๆ ในแง่ของการมองเห็นเมื่อเผยแพร่โดย GitHub


14
จริง หน้าทั้งหมดเป็นแบบสาธารณะ ฉันได้รับการตอบกลับ (บนตั๋วสนับสนุน) จาก Github เพื่อยืนยันสิ่งนี้
kashyap

13

คำตอบจำนวนมากล้าสมัย (การซื้อล่วงหน้าของ Microsoft / การซื้อคืนส่วนตัวฟรี) อันนี้เขียนขึ้นหลังจากการประกาศของrepos ส่วนตัวฟรี

หน้า Github ไม่สามารถใช้ได้กับ repos ส่วนตัวฟรีสำหรับบุคคลดังที่แสดงในการตั้งค่า repo:

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

2563 (แผนพื้นฐานที่สุดคือ "ทีม"):

อัปเกรดเป็นทีม Github หรือเผยแพร่เป็นสาธารณะอื่น ๆ เพื่อเปิดใช้งาน Pages


5
นี่คือคนเกียจคร้าน โฆษณาที่มีระฆังและเสียงนกหวีดให้บริการ repos ส่วนตัวฟรี แต่พวกเขาลดการใช้งานลงอย่างหนาแน่น
Robert Estivill

9

มีบทความที่มีแนวคิดการทำงานเกี่ยวกับวิธีขอการอนุญาต oAuth ก่อนที่จะโหลดเนื้อหาสแตติกแบบไดนามิก:

การรักษาความปลอดภัยเว็บไซต์ที่ทำงานบนหน้า Github ด้วยแบ็กเอนด์ JSON ในพื้นที่เก็บข้อมูลส่วนตัว

ควรจัดเก็บเนื้อหาในที่เก็บข้อมูลลับของ GitHub ด้วยมุมมองที่มีสิทธิ์อ่านเพื่อเข้าถึง หน้า GitHub เก็บเฉพาะรหัส JS ที่ให้บริการ


สิ่งนี้ดีกว่าการใช้ hasdocs เนื่องจากคุณไม่จำเป็นต้องให้สิทธิ์แก่ repo ในแอปของบุคคลที่สามที่ไม่น่าเชื่อถือ
Tommz

8

ตามที่อธิบายไว้ข้างต้นหน้า Github ไม่สนับสนุนการทำงานนั้น ฉันมีปัญหาเดียวกันเมื่อทีมของเราตัดสินใจที่จะโฮสต์เอกสารโครงการ (HTML แบบคงที่) ภายในและเป็นการส่วนตัว

ฉันลงเอยด้วยการสร้างบริการhttps://www.privatehub.cloudเป็นพร็อกซีเซิร์ฟเวอร์ธรรมดาที่มีการตรวจสอบสิทธิ์ Github OAuth ดังนั้นจึงส่งคืนเนื้อหาที่เก็บ GitHub ของคุณด้วยประเภท MIME ที่เหมาะสม โดยการออกแบบเพียงคนเดียวที่มีการเข้าถึงfooจะสามารถดูเนื้อหาที่foo https://bar-foo.privatehub.cloudจากมุมมองการใช้งานคุณสามารถคิดได้ว่ามันเป็นหน้า GitHub ที่เรียบง่ายพร้อมการตรวจสอบในตัว

น่าเสียดาย Github OAuth ไม่อนุญาตให้ร้องขอread-onlyการเข้าถึง repos ส่วนตัวดังนั้นเซิร์ฟเวอร์ต้องการการเข้าถึงแบบเต็ม (เห็นได้ชัดว่ามันไม่ได้เขียนอะไรไปยัง repo ของคุณ) เนื่องจาก GitHub API อนุญาตให้เรียกดูไฟล์ที่มีขนาดไม่เกิน 1 Mb เท่านั้นบริการจึงไม่สามารถส่งคืนไฟล์ที่มีขนาดใหญ่กว่าได้ ถึงกระนั้นฉันก็พบว่าบริการนี้ค่อนข้างเหมาะสำหรับโครงการขนาดเล็กสำหรับเอกสารภายในหรือเว็บไซต์แสดงละคร


1
หมายเหตุ: ขณะนี้บริการนี้ตายแล้ว (หรืออาจเกิดข้อผิดพลาดชั่วคราว)
Jason Axelson

1

หากคุณกดผู้ดูแลระบบบน repo ส่วนตัวและเลื่อนลงไปที่ส่วนเกี่ยวกับหน้ามันเขียนว่ามันจะเป็นสาธารณะ ฉันจะตรวจสอบในภายหลังว่า. htaccess control หรือคล้ายกันเป็นไปได้ แต่ฉันไม่มีความหวังมาก


1
วิธีการ. htaccess ไม่ทำงาน หากมีข้อเสนอแนะที่เป็นประโยชน์ใด ๆ โปรดแจ้งให้เราทราบ :)
Rohde Fischer

ฉันไม่พบอะไรเลย ฉันเดาว่าปัญหานี้จะปิดตอนนี้
kashyap

0

คุณสามารถใช้GitLab คุณสามารถกำหนดโครงการส่วนตัวและสิ่งอำนวยความสะดวกทั้งหมดเป็นเหมือน Github


หน้าส่วนตัวยังไม่พร้อมใช้งานบนไซต์ GitLab หลัก (เฉพาะในสำเนาที่อยู่ในพื้นที่) ... อาจถึงกลางเดือนพฤษภาคม 2562 (ดู < gitlab.com/gitlab-com/gl-infra/infrastructure/issues/5576> )
rivy

-3

คุณสามารถโฮสต์รหัสผ่านในที่เก็บแล้วเพียงซ่อนหน้าเว็บหลังที่อยู่ที่ซ่อนอยู่ซึ่งได้มาจากรหัสผ่านนั้น นี่ไม่ใช่วิธีที่ปลอดภัยมาก แต่ก็ง่าย

สาธิต

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