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!

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?


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.


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


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



1

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


próbowałeś tego?
Janus Troelsen

1

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.



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

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


Nie używaj waniliowego ssh w systemie Windows. To bzdura.
AmirHossein
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.