Czy obecnie istnieje sposób hostowania współdzielonego repozytorium Git w systemie Windows? Rozumiem, że możesz skonfigurować usługę Git w systemie Linux za pomocą:
git daemon
Czy istnieje natywna opcja systemu Windows, bez udostępniania folderów, do hostowania usługi Git?
EDYCJA: Obecnie używam instalacji cygwin git do przechowywania i pracy z repozytoriami git w systemie Windows, ale chciałbym zrobić kolejny krok polegający na hostowaniu repozytorium za pomocą usługi, która może zapewnić dostęp innym.
git daemon
. : \Odpowiedzi:
Oto kilka kroków, które możesz wykonać, aby uruchomić demona git w systemie Windows:
(Wymagania wstępne: domyślna instalacja Cygwin i klient git obsługujący demona git)
Krok 1 : Otwórz powłokę bash
Krok 2 : W katalogu / cygdrive / c / cygwin64 / usr / local / bin / utwórz plik o nazwie „gitd” z następującą zawartością:
Krok 3 : Uruchom następujące polecenie cygrunsrv z poziomu zachęty (np. Jako administrator), aby zainstalować skrypt jako usługę (uwaga: zakłada się, że Cygwin jest zainstalowany w C: \ cygwin64):
Krok 4 : Uruchom następujące polecenie, aby uruchomić usługę:
cygrunsrv --start gitd
Skończyłeś. Jeśli chcesz to przetestować, oto szybki i brudny skrypt, który pokazuje, że możesz przekazać protokół git na swoją maszynę lokalną:
źródło
GitStack może być najlepszym wyborem. Obecnie jest darmowy (dla maksymalnie 2 użytkowników)
i open sourcew momencie pisania.źródło
Oto dedykowany serwer git dla systemu Windows: https://github.com/jakubgarfield/Bonobo-Git-Server/wiki
źródło
git update-server-info
) po wypychaniu HTTP, a ta logika nie jest implementowana przez ich bibliotekę Git (GitSharp). Wątpię, czy w najbliższym czasie osiągnie prawdziwy stan roboczy.Jeśli pracujesz w środowisku Windows, czy rozważałeś Mercurial ? Jest to rozproszony system kontroli wersji, taki jak Git, ale integruje się o wiele lepiej i łatwiej z systemem Windows.
źródło
Instalacja CygWin to przesada, przeczytaj ten samouczek, jak zrobić to szybciej i natywnie:
http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP
źródło
Jeśli pojawi się błąd
cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: The service has not been started.
po uruchomieniu polecenia:oznacza to, że nie utworzyłeś folderu „ścieżka-podstawowa”.
Utworzenie folderu „/ git” i ponowne uruchomienie polecenia naprawi ten problem.
źródło
/git
uprawnienia NTFS nie zezwalają kontu usługi (SYSTEM) na dostęp do odczytu / zapisu.Obecnie używam demona ssh firmy Cygwin w systemie Windows do obsługi i zezwalania na zdalny dostęp do mojego repozytorium. Działa całkiem dobrze, mam pełną kontrolę nad tym, kto uzyskuje dostęp do mojego repozytorium za pomocą ich certyfikatów ssh, a wydajność spada, nawet w przypadku zdalnych łączy WAN i VPN.
Innym rozwiązaniem jest użycie Gitosis . Jest to narzędzie, które znacznie ułatwia hosting repozytoriów.
źródło
Nie musisz hostować usługi, możesz także utworzyć udostępnione repozytorium na dysku współdzielonym. Po prostu utwórz gołe repozytorium. Możesz sklonować istniejące repozytorium do udostępnionego za pomocą: "git clone --bare --shared [źródło] [dest]". Możesz także zainicjować nowe repozytorium za pomocą "git init --bare --shared = all".
Henk
źródło
Czy rozważałeś użycie warstwy cygwin? Zobacz ten link .
źródło
Teraz msysGit obsługuje demona git! Działa dobrze (przynajmniej dla mnie). Postaram się, aby działał jako usługa ...
źródło
Menedżer SCM
źródło
W systemie Windows możesz również obsługiwać repozytoria Git z Apache przez HTTP lub HTTPS, używając rozszerzenia DAV.
Ścieżkę repozytorium Git można następnie zabezpieczyć za pomocą testów uwierzytelniania Apache, takich jak ograniczenie do określonych adresów IP lub uwierzytelnianie typu htpasswd / htdigest.
Ograniczeniem korzystania z uwierzytelniania htpasswd / htdigest jest to, że nazwa użytkownika: hasło jest przekazywana w żądanym adresie URL Git, więc ograniczenie dostępu do adresu URL Git do określonych adresów IP jest lepsze.
Edytować: Uwaga, możesz pozostawić hasło poza adresem URL Git, a Git poprosi Cię o hasło podczas wypychania i pobierania / ściągania.
Korzystanie z protokołu HTTPS oznacza, że wszystkie dane są szyfrowane podczas przesyłania.
Jest dość łatwy w konfiguracji i działa.
Poniższy przykład przedstawia kombinację kontroli dostępu według adresu IP i użytkownika: hasło za pośrednictwem standardowego protokołu HTTP.
Przykład Apache Virtualhost
Przykład .git / config
źródło
W pracy używam GitBlit GO zainstalowanego na serwerze Windows. Pracuj bezbłędnie i dobrze integruj się z ActiveDirectory w celu uwierzytelniania i autoryzacji użytkowników. Jest również darmowy i open source (licencja Apache)
Strona główna GitBlit
Obsługiwany jest tylko dostęp przez HTTP (S), bez SSH, ale w systemie Windows nie potrzebujesz niczego więcej.
źródło
to jest odpowiedź z 2015 roku na pytanie, które ma ponad 7 lat.
Za jednorazową opłatą w wysokości 10 USD, na stronie https://bitbucket.org/product/server , można kupić 64-bitową licencję Windows dla maksymalnie 10 użytkowników .
Najwyraźniej wersje 32-bitowe są dostępne tylko za pośrednictwem ich archiwum.
Bitbucket Server był wcześniej znany jako Stash .
Należy pamiętać, że nie próbowałem tej wersji, ale 10 $ wydaje się dobrą okazją; tutaj przeczytałem, że Atlassian przekazuje 10 dolarów na cele charytatywne. FWIW
źródło
Myślę, że Henk mówi, że możesz utworzyć współdzielone repozytorium na dysku, a następnie skopiować je do jakiejś wspólnej lokalizacji, do której oboje macie dostęp. Jeśli istnieje serwer firmowy lub coś, do czego oboje macie dostęp ssh, możesz umieścić repozytorium w miejscu, w którym możesz SCP je z powrotem na swoim komputerze, a następnie wyciągnąć z niego. Zrobiłem to trochę dla siebie, ponieważ mam dwa komputery. To kłopotliwe, ale działa.
źródło
W przypadku Windows 7 x64 i Cygwin 1.7.9 musiałem użyć / usr / bin / gitd jako argumentu args w cygrunsrv
Musiałem również uruchomić bash jako administrator, aby zainstalować usługę.
źródło