Konfigurujesz repozytorium Git na zdalnym serwerze Windows?

22

Mam serwer Windows, do którego mogę uzyskać dostęp lokalnie lub zdalnie przez Internet za pośrednictwem połączenia pulpitu zdalnego itp.

Chcę skonfigurować repozytorium git (coś podobnego do „trunk” w subversion), które może zawierać serię repozytoriów dla wielu projektów.

Czy ktoś wie, jak to zrobić? Chcę to zrobić za pomocą GUI, jeśli to możliwe. Postępowałem zgodnie z tym samouczkiem Git Bash, ale jest bardzo długi i nie do końca to, o co mi chodzi.

Korzystam z klienta Git o nazwie MSYSGIT. Korzystając z tego, chcę tylko móc skonfigurować zdalne repozytoria i zacząć zatwierdzać kod źródłowy.

Każda pomoc byłaby bardzo mile widziana!

Goober
źródło

Odpowiedzi:

13

Obecnie dostępna jest funkcja „inteligentnego przesyłania HTTP”, która może nawet zastąpić dostęp do SSH. Nie jest już wymagane generowanie klucza prywatnego, a instalacja powinna być łatwiejsza, ponieważ składnik serwera można napisać w dowolnym wybranym języku:

Jeśli wszystko się nie powiedzie, możesz również skonfigurować serwer Apache i użyć standardowego git-http-backendpliku binarnego CGI, zobacz: Jakie są kroki, aby skonfigurować git-http-backend w / Apache w systemie Windows?

vdboor
źródło
Pamiętaj, że „te dni” minęły ponad 2 lata temu. Na początek chciałbym wiedzieć, czy coś się zmieniło w twoim umyśle?
RyanW,
Oba są w równym stopniu obsługiwane w systemie Linux i oba mają zostać. W tej chwili niewiele wiem o sytuacji w systemie Windows *, poza tym oczekuję, że preferowanym rozwiązaniem będzie obsługa protokołu HTTP. * ponieważ jestem głównie na Macu / Linuksie „w dzisiejszych czasach”;)
vdboor
Cześć @vdboor Mam jedno pytanie. Jeśli korzystamy z ssh, możemy mieć uwierzytelnianie za pomocą klucza publicznego, dzięki czemu nie musimy wysyłać hasła za każdym razem, gdy chcemy pobrać lub pchnąć. Czy ta funkcja pojedynczego logowania jest dostępna w Smart Httpmetodzie? Mam na myśli określenie hasła raz dla wszystkich akcji push / pull na serwerze.
AmirHossein
2

Możesz skorzystać z Cygwin + SSH + Gitosis, aby zaspokoić te potrzeby, ale niestety nie będzie to prosty proces konfiguracji typu „wskaż i kliknij”. Napisałem szczegółowy post na blogu na temat moich ostatnich doświadczeń (w tym procedury konfiguracji).

Jeśli chodzi o twój wymóg, aby był to przede wszystkim interfejs graficzny, polecam wszystkim twoim systemom klienckim zainstalowany TortoiseGit . Zapobiegnie to konieczności używania wiersza poleceń do dodawania, zatwierdzania, wypychania / ciągnięcia itd.

Mark Embling
źródło
Z którą opcją klienta SSH najlepiej się wybrać? - TortoisePLink jeden czy OpenSSH?
Goober,
Obie działają, ale prawdopodobnie najlepiej jest używać OpenSSH, chyba że masz powód, aby zrobić inaczej - jeśli nie, trzymaj się wartości domyślnych.
Mark Embling
1

Możesz to skonfigurować pod Cygwin :

Jeśli wybierzesz cygwin, możesz to zrobić tylko na serwerze i uruchomić git-daemon pod cygwin, ale nadal używać msysgit na klientach.

Sprawienie, aby git działał poprawnie z Cygwina

rkthkr
źródło
Należy zauważyć, że git-daemon zapewnia dostęp tylko przy użyciu protokołu git: // (nie ssh ani plik) i jest tylko do odczytu. Aby zapewnić dostęp do zapisu, należy to zrobić za pomocą ssh lub systemu plików (lub abstrakcji nad nim).
Mark Embling
Więcej informacji: kernel.org/pub/software/scm/git/docs/…
Mark Embling
1

Gogs jest z pewnością warty obejrzenia: łatwy w użyciu (kilka obsługiwanych opcji instalacji), wieloplatformowy (w tym Windows), lekki, open source.

Ben Mordue
źródło
próbowałeś tego?
Janus Troelsen
1

Oto kilka opcji:

Lilith River
źródło
Nie zamierzam udzielać ci głosu w tej sprawie wyłącznie dlatego, że ujawniłeś swoje zaangażowanie. W porządku, ale dla przypomnienia, jeśli wystarczy opublikować linki do tego produktu, prawdopodobnie zostaniesz zawieszony za spamowanie. Poza tym - witamy w usłudze Server Fault, życzymy przyjemnej podróży :-)!
Ben Pilbrow
Jestem bardzo aktywnym użytkownikiem StackOverflow - to jednak mój pierwszy post na ServerFault. Dzięki za powitanie :)
Lilith River
1
To nie jest TYLKO metoda GUI - jest też gitstack.com (nie jestem zaangażowany w projekt i nie próbowałem go). Mogą być też inni.
rjmunro
Pamiętaj, że ta odpowiedź ma ponad rok, a gitstack został wprowadzony zaledwie kilka miesięcy temu.
Lilith River,
Crappy Environment w systemie Windows .... Biedni ci użytkownicy systemu Windows płacą swoje dolary za bzdury. :) Zamiast tego użyj bonobogitserver.com .
AmirHossein
0

GitStack to ten, który obecnie oceniam .

Gdy zaczynam ten proces (konfigurowanie serwera Git w systemie Windows), a ta dyskusja trwa już ponad rok, pomyślałem, że dodam to do miksu.

RyanW
źródło
0

Gitlab jest świetnym rozwiązaniem i zawiera interfejs internetowy. Aby działał zgodnie z Twoimi wymaganiami.

  1. Włącz hyperV na serwerze Windows
  2. Rozwiń maszynę wirtualną z systemem Linux
  3. Zainstaluj Gitlab na maszynie wirtualnej
Eric
źródło
Gitlab bierze 2 koncerty barana, co nie jest rozsądnym pomysłem.
AmirHossein
0

Jeśli masz zespół programistów 5-10, sugeruję skorzystanie z waniliowego git z ssh. Łatwy w konfiguracji i masz ssh do ochrony przesyłanych danych.

Jeśli masz wiele zespołów z pewnymi obrotami, zakładając, że masz aktywny katalog Windows, możesz rozważyć bitbucket Atlassian. Używamy bitbucket głównie do następujących wymagań: 1. Zarządzaj repozytoriami git jako projektami, w których możemy zapewnić samoobsługową kontrolę dostępu na poziomie projektu. 2. Integracja logowania LDAP z synchronizacją grupy AD 3. Bardzo niski wysiłek administracyjny

Chris Cheah
źródło
Nie używaj waniliowego ssh w systemie Windows. To bzdura.
AmirHossein