Einrichten des Git-Repository auf einem Remote-Windows-Server?


22

Ich habe einen Windows-Server, auf den ich lokal oder remote über das Internet über eine Remotedesktopverbindung usw. zugreifen kann.

Ich möchte ein Git-Repository einrichten (ähnlich wie "trunk" in Subversion), das eine Reihe von Repositorys für mehrere Projekte enthalten kann.

Weiß jemand, wie ich das mache? Ich möchte es mit einer GUI tun, wenn möglich. Ich habe dieses Git Bash Tutorial verfolgt, aber es ist sehr langwierig und nicht genau das, wonach ich suche.

Ich verwende einen Git-Client namens MSYSGIT. Damit möchte ich nur in der Lage sein, Remote-Repositorys einzurichten und Quellcode zu schreiben.

Jede Hilfe wäre sehr dankbar!

Antworten:


13

In diesen Tagen gibt es eine "intelligente HTTP" -Upload-Funktion, die möglicherweise sogar den SSH-Zugriff ersetzt. Es ist keine weitere Generierung von privaten Schlüsseln erforderlich, und die Installation sollte einfacher sein, da die Serverkomponente in einer beliebigen Sprache geschrieben werden kann:

Wenn alles fehlschlägt, können Sie auch einen Apache-Server einrichten und die Standard- git-http-backendCGI-Binärdatei verwenden. Siehe: Welche Schritte müssen Sie ausführen, um git-http-backend mit Apache unter Windows einzurichten?


Beachten Sie, dass "diese Tage" vor über 2 Jahren war. Als beste Antwort wäre ich gespannt, ob sich etwas in Ihren Gedanken geändert hat.
RyanW

Nun, beide werden unter Linux gleichermaßen unterstützt, und beide sollen bleiben. Ich weiß momentan nicht viel über die Windows-Situation *, abgesehen davon, dass ich davon ausgehe, dass HTTP-Unterstützung die bevorzugte Lösung ist. * da ich "in diesen Tagen" hauptsächlich auf Mac / Linux bin;)
vdboor

Hallo @vdboor, ich habe eine Frage. Wenn wir ssh verwenden, können wir uns mit einem öffentlichen Schlüssel authentifizieren, sodass wir nicht jedes Mal ein Passwort senden müssen, wenn wir ziehen oder pushen möchten. Ist diese Funktion zur einmaligen Anmeldung in der Smart HttpMethode verfügbar ? Ich meine, das Passwort einmal für alle Push / Pull-Aktionen auf dem Server anzugeben.
AmirHossein


2

Sie könnten versuchen, Cygwin + SSH + Gitosis zu verwenden, um diese Anforderungen zu erfüllen, aber leider ist dies kein einfacher Einrichtungsprozess per Mausklick. Ich habe einen detaillierten Blog-Beitrag über meine jüngsten Erfahrungen (einschließlich des Einrichtungsverfahrens) verfasst.

Ich empfehle, dass auf allen Clientsystemen TortoiseGit installiert ist, damit dies in erster Linie eine grafische Erfahrung ist . Dies verhindert, dass die Befehlszeile zum Hinzufügen, Festschreiben, Drücken / Ziehen usw. verwendet werden muss.


Welche SSH-Client-Option passt am besten? - Der TortoisePLink oder der OpenSSH?
Goober

Beides funktioniert, aber es ist wahrscheinlich am besten, mit openSSH zu arbeiten, es sei denn, Sie haben einen Grund, etwas anderes zu tun. Wenn nicht, bleiben Sie bei den Standardeinstellungen.
Mark Embling

1

Sie können es unter Cygwin einrichten :

Wenn Sie sich für Cygwin entscheiden, können Sie dies nur auf dem Server tun und git-daemon unter Cygwin ausführen, auf den Clients jedoch weiterhin msysgit verwenden.

Damit Git von Cygwin aus richtig funktioniert


Es ist zu beachten, dass git-daemon nur den Zugriff über das Protokoll git: // (nicht ssh oder file) ermöglicht und schreibgeschützt ist. Um Schreibzugriff zu ermöglichen, muss dies über ssh oder das Dateisystem (oder eine Abstraktion darüber) erfolgen.
Mark Embling




1

Hier sind einige Optionen:


Ich werde Ihnen dazu keine Gegenstimme geben, nur weil Sie Ihre Beteiligung offengelegt haben. Das ist in Ordnung, aber als freundliche Erinnerung: Wenn Sie nur Links zu diesem Produkt posten, werden Sie wahrscheinlich wegen Spam gesperrt. Abgesehen davon - Willkommen bei Server Fault, wir wünschen Ihnen eine angenehme Reise :-)!
Ben Pilbrow

Ich bin ein sehr aktiver Benutzer von StackOverflow - dies ist jedoch mein erster Beitrag zu ServerFault. Vielen Dank für die Begrüßung :)
Lilith River

1
Es ist nicht die EINZIGE GUI-Methode - es gibt auch gitstack.com (ich bin nicht in das Projekt involviert und habe es nicht ausprobiert). Es könnte auch andere geben.
rjmunro

Bitte beachten Sie, dass diese Antwort über ein Jahr alt ist und gitstack erst vor einigen Monaten eingeführt wurde.
Lilith River

Crappy Environment unter Windows ... Arme Windows-Benutzer zahlen Ihre Dollars für eine Menge Mist. :) Verwenden Sie stattdessen bonobogitserver.com .
AmirHossein



0

GitStack ist derjenige, den ich gerade evaluiere.

Da ich diesen Prozess auch beginne (Git-Server unter Windows einrichten) und diese Diskussion über ein Jahr alt ist, dachte ich, ich würde das der Mischung hinzufügen.



0

Gitlab ist eine großartige Lösung und enthält eine webbasierte Oberfläche. Damit es Ihren Anforderungen entspricht.

  1. Aktivieren Sie hyperV auf Ihrem Windows-Server
  2. Starten Sie eine Linux-VM
  3. Installieren Sie Gitlab auf der VM

Gitlab nimmt 2 Gigs RAM, keine vernünftige Idee.
AmirHossein

0

Wenn Sie ein 5-10 Entwicklerteam haben, würde ich vorschlagen, mit ssh mit Vanilla Git zu gehen. Einfach einzurichten und Sie haben ssh, um Daten während der Übertragung zu schützen.

Wenn Sie mehrere Teams mit einem gesunden Umsatz haben und davon ausgehen, dass Windows Active Directory ausgeführt wird, sollten Sie Atlassian Bitbucket in Betracht ziehen. Wir verwenden bitbucket hauptsächlich für die folgenden Anforderungen: 1. Verwalten Sie Git-Repositorys als Projekte, in denen wir Self-Service-Zugriffskontrolle auf Projektebene bereitstellen können. 2. Integration der LDAP-Anmeldung in die AD-Gruppensynchronisierung 3. Sehr geringer Verwaltungsaufwand


Verwenden Sie Vanille ssh nicht für Windows. Es ist Mist.
AmirHossein
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.