Nie mogłem znaleźć niczego w dokumentacji github, a także tutaj na SO. Zastanawiałem się jednak, czy może istnieć http://foo.github.com
prywatne repozytorium o nazwie, foo
które jest dostępne tylko jedno miało dostęp do samego foo
repozytorium.
Pamiętam, że przeczytałem coś o tym, że strony github są zawsze publiczne, ale nie mogę już tego znaleźć.
I, co zaskakujące, nie mogę znaleźć nikogo, kto zadałby to pytanie.
github
github-pages
kashyap
źródło
źródło
Odpowiedzi:
Podniosłem zgłoszenie do pomocy technicznej przeciwko Githubowi i otrzymałem odpowiedź potwierdzającą fakt, że WSZYSTKIE strony są publiczne. Poprosiłem ich o dodanie notatki na help.github.com/pages.
źródło
Zgodnie z dokumentacją stron GitHub :
Więc nie, w tej chwili nie ma możliwości utworzenia prywatnych stron GitHub z prywatnego repozytorium GitHub.
EDYTOWAĆ:
Proste obejście
Obejściem w niektórych sytuacjach, które mogą być pomocne, jest po prostu zmiana nazwy repozytorium na coś innego niż format stron GitHub, gdy chcesz, aby był prywatny (na przykład w fazie rozwoju), a kiedy jest gotowy do upublicznienia, popraw nazwę. Oczywiście to nadal nie pomaga, jeśli szukasz sposobu na publikowanie stron z uwierzytelnianiem, ale jeśli chcesz tylko ukryć projekt stron GH podczas jego trwania, może to pomóc.
Rzeczywiste Auth Wrapper dla Jekyll (strony GitHub)
Alternatywnie istnieje projekt o nazwie Jekyll Auth, który GitHubber @benbalter stworzył do takiego użytku. Jekyll Auth zapewnia podstawowe opakowanie uwierzytelniające dla projektów jekyll, w tym stron GitHub. Zobacz plik README repozytorium do użycia.
źródło
Page.github.com wspomina:
Bez wspominania o kontroli dostępu.
Pomoc strony GitHub również nie wspomina o żadnej liście ACL.
Najlepiej nimi zarządzać w gałęzi gh-pages i można nimi zarządzać we własnym podmodule .
Ale znowu, bez żadnych ograniczeń widoczności po opublikowaniu przez GitHub.
źródło
Wiele odpowiedzi jest nieaktualnych (przejęcie przed Microsoft / bezpłatne prywatne repozytorium). Ten został napisany po ogłoszeniu bezpłatnych prywatnych transakcji repo.
Strony Github nie są dostępne w bezpłatnych prywatnych repozytoriach dla osób fizycznych, jak pokazano w ustawieniach repozytoriów:
2020 (najbardziej podstawowym planem jest teraz „Zespół”):
źródło
Jest artykuł z działającym pomysłem na temat żądania autoryzacji oAuth przed dynamicznym ładowaniem treści statycznej:
Zabezpieczanie strony działającej na stronach Github z zapleczem JSON w prywatnym repozytorium
Treść powinna być przechowywana w tajnym repozytorium GitHub z przeglądarką mającą dostęp do odczytu. Strony GitHub przechowują tylko obsługujący kod JS.
źródło
Jak wspomniano powyżej, strony Github nie obsługują tej funkcji. Miałem ten sam problem, gdy nasz zespół postanowił hostować dokumentację projektu (statyczny HTML) wewnętrznie i prywatnie.
Skończyłem tworzenie usługi https://www.privatehub.cloud Jest to zasadniczo prosty serwer proxy z uwierzytelnianiem Github OAuth, więc po prostu zwraca zawartość repozytorium GitHub z odpowiednim typem MIME. Z założenia tylko ci, którzy mają dostęp,
foo
będą mogli zobaczyćfoo
zawartość nahttps://bar-foo.privatehub.cloud
. Z funkcjonalnego punktu widzenia można myśleć o tym jak o uproszczonych stronach GitHub z wbudowanym uwierzytelnianiem.Niestety, Github OAuth nie pozwala na żądanie
read-only
dostępu do prywatnych repozytoriów, więc serwer potrzebuje pełnego dostępu (oczywiście nic nie pisze do twojego repo). Ponieważ GitHub API pozwala pobierać pliki o wielkości poniżej 1 Mb, usługa nie może zwrócić większych plików. Odkryłem jednak, że usługa jest odpowiednia dla małych projektów związanych z wewnętrzną dokumentacją lub wersją strony internetowej.źródło
Jeśli naciśniesz admin na prywatnym repozytorium i przewiniesz w dół do części o stronach, zapiszesz, że będzie publiczny. Sprawdzę później, czy kontrola .htaccess lub podobna jest możliwa, ale nie mam na to wiele nadziei.
źródło
możesz użyć GitLab . możesz zdefiniować prywatne projekty, a wszystkie obiekty są jak Github.
źródło
Możesz przechowywać hasło w repozytorium, a następnie po prostu ukryć stronę za ukrytym adresem, który pochodzi od tego hasła. To nie jest zbyt bezpieczny sposób, ale jest prosty.
Demonstracja
źródło