Jak skonfigurować publiczne repozytoria git?

Ostatnio próbowałem skonfigurować git repo na Linuksie i zmarnowałem około 10 godzin bez absolutnie żadnych rezultatów. Nie ma żadnych problemów z kompilacją lub czymś takim, to tylko problem z konfiguracją. 2 godziny później dostałem mercurial, żeby zrobić wszystko, czego potrzebuję:

  1. public repos
  2. web ui
  3. push / pull z uprawnieniami poszczególnych użytkowników (nie powiązanymi z kontami Linuksa)

Wszystko co widzę o git zakłada, że albo uruchamiasz go lokalnie, używając github lub masz już wszystko ustawione. Albo nie szukam odpowiednich słów kluczowych, albo po prostu brak lub bardzo mało informacji na ten temat.

Chcę wypróbować Gita, ale konfiguracja go jest bardzo zniechęcającym doświadczeniem. Czy ktoś może wskazać coś użytecznego w tych terminach?

Dziękuję!

Author: CharlesB, 2009-03-07

2 answers

wierzę (ale jeszcze nie próbowałem), że gitosis jest droga do:
Update: 2011, faktycznie wdrożyłem gitolit

  • spraw, aby hosting git był łatwiejszy i bezpieczniejszy. It
  • zarządza wieloma repozytoriami pod jednym kontem użytkownika, używając kluczy SSH do identyfikacji użytkowników.
    Użytkownicy końcowi nie potrzebują kont shell na serwerze, będą rozmawiać z jednym wspólnym kontem, które nie pozwoli im uruchomić dowolny polecenia.

Proces instalacji, który polecam, jest wykonywany z postu klienta w celu skopiowania pełnej instalacji gitolite na serwerze:

(metoda from-client) instalacja z Klienta na Serwer

Pamiętaj: gitolite zarządza autoryzacją, nie uwierzytelnianiem (SSH) : może być używany bez SSH, ale jego naturalne wdrożenie odbywa się poprzez SSH i wymuszony mechanizm poleceń. (jak gitosis był, ale z wieloma innymi cechy)


Stare odniesienia do gitosis:

oto krok po kroku tutorial.

a potem aplikacja tutoriala: Gitosis-umożliwiająca zarządzanie wieloma repozytoriami Git (Dla Mac) lub instalacja gitosis na Ubuntu

Następnie: Dodawanie użytkowników do naszej bezpiecznej konfiguracji Git

Zakończone: podprojekty Git (ponieważ twój serwer gitosis zarządza wszystkie te różne repozytoria Gita)


Dla prawdziwie lekkich (CGI server) publicznych repozytoriów Git, możesz:

  • konfiguracja serwera git: git-daemon ; będzie nasłuchiwał na porcie 9418. Domyślnie, pozwoli to na dostęp do każdego katalogu, który wygląda jak katalog git i zawiera magiczny plik git-daemon-export-ok. Przekazanie niektórych ścieżek katalogów jako argumentów git-daemon dodatkowo ograniczy eksport do tych ścieżek.
    Możesz również uruchomić git-daemon jako usługa inetd;
  • Eksportuj za pomocą http Umieść nowo utworzone gołe repozytorium git w katalogu, który jest eksportowany przez serwer WWW, i dokonaj pewnych korekt, aby dać klientom internetowym dodatkowe informacje, których potrzebują

Oto Jak to zrobić na serwer Apache.


Artykuł z 2010 roku "8 sposoby udostępniania repozytorium git" wspomina o wszystkich możliwościach uzyskania dostępu do repozytorium Git.

 13
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-06 14:20:20

You could just do

git instaweb

Jeśli masz lighttpd zainstalowany. Jest to jednak tylko GUI www.

 1
Author: stigkj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-05 13:35:53