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. ?


* 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.


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


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 .


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.


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


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.


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.


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!


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.


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ć.


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 ...


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 .

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.