Skonfiguruj serwer Git z msysgit w systemie Windows [zamknięte]

163

Moi przyjaciele i ja próbujemy skonfigurować Git dla Windows, korzystając z samouczka Git Server: Gitosis i Cygwin w systemie Windows , ale wciąż napotykamy na problemy.

Jak wyglądałby przewodnik „Konfiguracja serwera Git” dla systemu Windows przy użyciu msysgit ?

W powyższym samouczku jest komentarz sugerujący, że nie można tego zrobić za pomocą msysgit, ponieważ gitoza wymaga użycia serwera SSH i Bash? Co to jest przewodnik krok po kroku (ponieważ takiego nie ma)?

  1. Zainstaluj mysisgit

  2. ?

Kara
źródło
* Git dla programistów Windows . 3 części, to jest odnośnik do pierwszej. Dobry! * Ilustrowany przewodnik po Git w systemie Windows * Rozszerzenia Git (filmy)
Rook
Użyłem narzędzia na windowsgit.com, jak zasugerował lingwista komputerowy po wypróbowaniu (i niepowodzeniu) powyższych metod. To było absurdalnie łatwe i po prostu działało. Warte 9 dolarów, IMO.
Edward Anderson,
Możesz wypróbować Git Candy, platformę Git opartą na ASP.NET MVC. Źródło: github.com/Aimeast/GitCandy , Demo na: git.53wb.com
Aimeast,

Odpowiedzi:

79

Znalazłem ten post i właśnie opublikowałem na swoim blogu coś, co może pomóc.

Zobacz Konfigurowanie serwera Msysgit z copSSH w systemie Windows . Jest długi, ale udało mi się to działa na Windows 7 Ultimate x64.

Tim
źródło
5
Dla przypomnienia, z tego, co wiem, w punkcie 5.5 instrukcji Tima musisz wstawić dodatkową komendę PRZED #, a nie po (w przeciwnym razie pozostaje zakomentowana).
Benjol
1
Możesz rzucić okiem na windowsgit.com .
Lilith River
6
Zwróć uwagę, że Copssh nie jest dostępny na sourceforge i nie jest już darmowy od kwietnia 2012 r.
TiansHUo
2
@Tim, czy możesz ponownie opublikować tutaj treść swojego posta na blogu? Jeśli Twój blog zostanie odłączony, ta odpowiedź stanie się bezużyteczna.
Rozgwiazda
1
@Starfish - Po to jest web.archive.org! Tutaj jest artykuł Tima: web.archive.org/web/20100207010332/http://www.timdavis.com.au/ ...
alldayremix
27

Bonobo Git Server dla Windows

Ze strony internetowej Bonobo Git Server :

Bonobo Git Server for Windows to aplikacja internetowa, którą można zainstalować w swoich usługach IIS i łatwo zarządzać repozytoriami git oraz łączyć się z nimi.

Bonobo Git Server to projekt typu open source, którego źródło można znaleźć na github .

Cechy:

  • Bezpieczny i anonimowy dostęp do repozytoriów git
  • Przyjazny dla użytkownika interfejs sieciowy do zarządzania
  • Zarządzanie dostępem do repozytoriów w oparciu o użytkowników i zespół
  • Przeglądarka plików repozytorium
  • Zatwierdź przeglądarkę
  • Lokalizacja

Brad Kingsley ma fajny samouczek dotyczący instalacji i konfiguracji Bonobo Git Server.

GitStack

Git Stack to kolejna opcja. Oto opis z ich strony internetowej:

GitStack to oprogramowanie, które pozwala skonfigurować własny prywatny serwer Git dla systemu Windows. Oznacza to, że tworzysz wiodący system zarządzania wersjami bez wcześniejszej wiedzy o Git. GitStack sprawia również, że bardzo łatwo jest zabezpieczyć i aktualizować serwer. GitStack jest oparty na oryginalnym Git dla Windows i jest kompatybilny z każdym innym klientem Git. GitStack jest całkowicie darmowy dla małych zespołów 1 .

1 edycja podstawowy jest bezpłatny dla 2 użytkowników

Daniel
źródło
1
GitStack jest bezpłatny tylko dla maksymalnie 5 użytkowników. Po przekroczeniu tego limitu otrzymasz roczną wycenę na podstawie liczby użytkowników. Zobacz stronę Cennik w witrynie GitStack.
Simon Tewsi
2
Zwróć uwagę, że pierwotny deweloper Bonobo Git Server, Jakub Chodounský, powiedział w poście na forum z 1 stycznia 2012 r., Że nie może już wspierać projektu.
Simon Tewsi
2
GitStack jest teraz darmowy tylko dla maksymalnie 2 użytkowników.
M4N
2
Bonobo znów jest aktywny w projekcie.
Tomas Kubes
2
Pamiętaj tylko, aby aktywować IIS> Usługi WWW> Funkcje tworzenia aplikacji> ASP.NET 4.5. Bonobo pracował dla mnie, gdzie GitStack (który nie mógł nawet używać głównego nurtu msysgit) nie działał, a Bonobo jest open-source i ma licencję MIT! Jest to satysfakcjonujące rozwiązanie dla systemu Windows, tak samo jak wolałbym używać do tego celu maszyny z systemem Unix.
Będzie
26

Jeśli chodzi o odniesienie do strony Tima Davisa - Konfigurowanie serwera Msysgit z copSSH w systemie Windows - użyłem tego, aby uzyskać serwer Git działający w systemie Windows 7 Home Premium 64.

Poniżej znajduje się sekcja zwłok / aktualizacja tego, czego się dowiedziałem, oprócz jego instrukcji.

Jak powiedział Tim Davis, był to żmudny i frustrujący proces, przynajmniej dla mnie - nie jestem zbyt dobry w tego rodzaju integracji, ale wiele się nauczyłem. Mam nadzieję, że w przyszłości mój ból przyniesie korzyści komuś innemu, ponieważ był to żmudny proces.

  1. Jest krok, aby skopiować wszystkie pliki wykonywalne Git do katalogu bin CopSsh. Zamiast kopiować pliki i zastanawiać się, które pliki są potrzebne, dodaj ścieżkę git bin do ścieżki git. Zrobiłem to, modyfikując mój profil .bashrc i CopSsh.

    Oto co dodałem do .bashrc (w twoim katalogu domowym CopSsh i Windows):

    gitpath = '/ cygdrive / c / Program Files (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Program Files (x86) / Git / libexec / git-core'

    PATH = $ {gitpath}: $ {gitcorepath}: $ {PATH}

    Oto, co dodałem do profilu bash (w CopSsh etc / profile):

    gitpath = '/ c / Program Files (x86) / Git / bin'

    gitcorepath = 'cygdrive / c / Program Files (x86) / Git / libexec / git-core'

    export PATH = "/ bin: $ syspath: $ gitpath: $ gitcorepath: $ winpath"

    Jest tu trochę duplikacji - u mnie działa, więc ktoś dzwoni, w którym miejscu należy zmodyfikować ścieżkę.

  2. Nowsze wersje msysgit mogą nie dać ekranu do wyboru pliku wykonywalnego ssh, w którym można wybrać między Git ssh i PuTTY ssh. Jeśli używasz PuTTY, musisz ustawić GIT_SSH ręcznie.

  3. Nie postępowałem zgodnie z jedną częścią instrukcji, a mianowicie instalowałem Tortoise - zamiast tego użyłem wiersza poleceń, ponieważ w ten sposób wolę uczyć się vcs, tak jak robiłem z rcs i Subversion i stwierdziłem, że to działa dla mnie. Miałem problemy z poleceniem clone przy użyciu ssh. Oto jak to zrobiłem:

    Klon Gita przy użyciu ssh - nie można znaleźć repozytorium

    W tym miejscu najbardziej uderzyłem się w głowę.

  4. Katalog instalacyjny CopSsh to / Program Files (x86) / ICW. Udało mi się to, ale gdybym robił to ponownie, użyłbym nazwy katalogu bez spacji.

  5. Te inne źródła pomogły mi to zrozumieć:

    Inny sposób konfiguracji serwera Git w systemie Windows:

    http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP

    Po stronie klienta:

    http://toolmantim.com/hardts/setting_up_a_new_remote_git_repository

    Wyjaśnienie działania Gita jako serwera (niezwiązanego z systemem Windows, ale bardziej szczegółowe spojrzenie niż kroki instalacji):

    http://progit.org/book/ch4-0.html

    Plus kontrola wersji O'Reilly z Git - rozdział Zdalne repozytoria.

Z perspektywy czasu, gdybym wiedział, jak to może być czasochłonne, mógłbym zacząć od Mercuriala, ponieważ czytam, że instalacja w systemie Windows jest łatwiejsza, ale mam opinię na ten temat po tym, jak trochę popracuję z Gitem, a potem wypróbuję Mercurial .

Steve
źródło
Mam problem z krokiem CopSSH. Link do CopSSH już tam nie ma ... Zostaję przekierowany do sourceforge.net/projects/sereds/files, skąd mogę pobrać tylko cwRsync_4.0.4_Installer.zip zamiast instalatora CopSSH. Jakieś sugestie?
user5243421
To jest link, którego użyłem: itefix.no/i2/node/27
Steve
1
Od listopada 2011 r. Copssh jest rozwiązaniem komercyjnym. Wersja 3.0.3 jest udostępniana bezpłatnie.
mateuscb
20

Nie jestem pewien, dlaczego nikt nie zasugerował http://gitblit.com . Czyste rozwiązanie oparte na Javie, obsługuje protokół HTTP i jest naprawdę łatwe w konfiguracji.

Pritesh Patel
źródło
Dzięki za głos negatywny. Czy możesz podać powód, dla którego nie głosujesz na ten komentarz? Proszę, bądź cierpliwy.
Pritesh Patel
Fantastyczny projekt, sprawił mi przyjemność, dziękuję.
Anderson Fortaleza
16

Po wykonaniu wskazówek Tima Davisa i kontynuacji Steve'a, oto co zrobiłem:

Serwer PC

  1. Zainstaluj CopSSH, msysgit.
  2. Podczas tworzenia użytkownika CopSSH usuń zaznaczenie opcji Uwierzytelnianie hasła i zaznacz opcję Uwierzytelnianie klucza publicznego, aby klucze publiczne / prywatne działały.
  3. Utwórz klucze publiczne / prywatne za pomocą PuTTygen. umieść oba klucze w katalogu CopSSH / home / user / .ssh użytkownika.
  4. Dodaj następujące elementy do pliku CopSSH / home / user / .bashrc użytkownika:

    GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
    GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
    PATH=${GITPATH}:${GITCOREPATH}:${PATH}
    
  5. Otwórz Git Bash i utwórz repozytorium w dowolnym miejscu na swoim komputerze:

    $ git --bare init repo.git
    Initialized empty Git repository in C:/repopath/repo.git/
    

Komputer kliencki

  1. Zainstaluj msysgit.
  2. Użyj klucza prywatnego utworzonego na serwerze, aby sklonować repozytorium z ssh: // user @ server: port / repopath / repo.git (z jakiegoś powodu root to dysk C :)

Pozwoliło mi to pomyślnie sklonować i zatwierdzić, ale nie mogłem wysłać do samego repozytorium na serwerze. Ciągle otrzymywałem:

git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

To doprowadziło mnie do śladu i rozwiązania Rui, które polegało na utworzeniu lub dodaniu następujących wierszy do .gitconfig w ścieżce % USERPROFILE% twojego komputera klienckiego (C: \ Users \ UserName).

[remote "origin"]
    receivepack = git receive-pack

Nie jestem pewien, dlaczego jest to potrzebne… jeśli ktoś mógłby udzielić wglądu, byłoby to pomocne.

moja wersja git to 1.7.3.1.msysgit.0

timc
źródło
8

GitStack powinien osiągnąć Twój cel. Mam kreatora konfiguracji. Jest bezpłatny dla 2 użytkowników i ma interfejs użytkownika oparty na sieci WWW. Opiera się na msysgit.

poiuytrez
źródło
1
Ceny z witryny GitStack: bezpłatnie dla maksymalnie 5 użytkowników, 299 USD rocznie dla 6-10 użytkowników, 499 USD rocznie dla 11-25 użytkowników itd., Do 2999 USD rocznie dla 500 użytkowników.
Simon Tewsi
1
GitStack jest teraz darmowy tylko dla maksymalnie 2 użytkowników.
M4N
Tak więc 1 użytkownik, który konfiguruje serwer, 1 użytkownik dla klienta odwiedzającego serwer. Ten limit jest zbyt surowy. W prawdziwym świecie zespół 2 programistów jest za mały.
ZhaoGang
7

Istnieje ładny stos Git typu open source o nazwie Git Blit. Jest dostępny dla różnych platform iw różnych pakietach. Można go również łatwo wdrożyć w istniejącym serwerze Tomcat lub dowolnym innym kontenerze serwletów. Spójrz na samouczek konfiguracji serwera git w systemie Windows za pomocą kilku kliknięć, aby uzyskać więcej informacji. Uzyskanie podstawowej konfiguracji zajmie Ci około 10 minut.

Rusłan Płatonow
źródło
Działał jak urok. Stukrotne dzięki.
AndroidDev,
Witam, cieszę się, że to było pomocne
Ruslan Platonov
To dobry wybór. łatwy w użyciu dla mnie. Nie testował zdalnego zatwierdzenia git, ale przypuszczam, że zadziała. Przy okazji, link nie jest już dostępny.
ZhaoGang
Link już nie istnieje.
Shihe Zhang
3

Nie potrzebujesz SSH do udostępniania git. Jeśli korzystasz z sieci LAN lub VPN, możesz wyeksportować projekt git jako folder współdzielony i zamontować go na zdalnym komputerze. Następnie skonfiguruj repozytorium zdalne, używając adresów URL „file: //” zamiast adresów „git @”. Trwa całe 30 sekund. Gotowe!

Jon Watte
źródło
2

Takiego przewodnika może po prostu nie być. Jeśli tak, możesz nie mieć szczęścia w przekonywaniu kogokolwiek do napisania takiego, bo wymagałoby to dużo pracy.

Poleciłbym jedną z dwóch rzeczy. Najprościej jest niewolniczo podążać za przewodnikiem, co oznacza zapomnienie o msysgit.

Trudniej jest zainstalować serwer Linux - być może jako gość w systemie Windows za pomocą VirtualBox (bezpłatny) lub VMWare lub Parallels (płatny), a następnie postępować zgodnie z jednym z wielu zestawów instrukcji, do których Google Cię doprowadzi. Ale prawdopodobnie okaże się, że te instrukcje są niewystarczające - zwykle zakładają, że na przykład masz już skonfigurowany serwer ssh, więc musisz zdobyć te informacje gdzie indziej. Zrobiłem to dwa razy i mogę powiedzieć, że jeśli nie jesteś już kimś w rodzaju guru Linuksa, to będzie walka.

Bob Murphy
źródło
1

Zrobiłem to, co sugerował Bob Murphy , jako „trudną” opcję.

Zainstalowałem Ubuntu na serwerze VMWare (bezpłatnie) w pracy, a następnie postępowałem zgodnie z tym przewodnikiem dotyczącym konfigurowania Gitosis. Okazało się to znacznie łatwiejsze niż próba uruchomienia go pod Windows. Po skonfigurowaniu naprawdę nie musisz go dotykać, ponieważ administrację Gitosis można wykonać z systemu Windows, przesyłając zaktualizowane wersje pliku gitosis.conf. Każda praca, którą muszę wykonać bezpośrednio na serwerze, jest wykonywana przez PuTTY, więc nie muszę używać okropnego interfejsu serwera VMWare.

Ostatnio bawiłem się z VirtualBox w domu i stwierdziłem, że jest o wiele przyjemniejszy / łatwiejszy w obsłudze niż VMWare Server, więc może warto się temu przyjrzeć.

Jacob Stanley
źródło
1

Chciałem tylko dodać moje doświadczenia z konfiguracją PATH , o której wspomina Steve i timc powyżej: mam problemy z uprawnieniami przy użyciu narzędzi powłoki (takich jak mv i cp ), mając najpierw na ścieżce pliki wykonywalne powłoki Git.

Dołączenie ich po istniejącej PATH zamiast tego rozwiązało moje problemy. Przykład:

GITPATH='/cygdrive/c/Program Files (x86)/Git/bin' GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core' PATH=${PATH}:${GITPATH}:${GITCOREPATH}

Chyba CopSSH nie iść dobrze ze wszystkimi msysGit „s wykonywalne Shell ...

kjellander
źródło
0

Używam GitWebAccess do wielu projektów od pół roku i okazało się, że jest to najlepsze z tego, co próbowałem. Wygląda jednak na to, że ostatnio źródła nie są obsługiwane, więc - nie pobieraj najnowszych plików binarnych / źródeł. Obecnie są zepsute :(

Możesz budować z tej wersji lub pobrać skompilowane pliki binarne, których używam tutaj .

Ivan Danilov
źródło