415 Stimmen

Git-Server wie GitHub?

Ich bin ein langjähriger Subversion-Benutzer, der nun Git ausprobieren will. Ich habe einiges darüber gelesen und verstehe die verteilte Natur - ich kann viele der Vorteile erkennen.

Mir gefällt jedoch die Idee eines zentralen Servers, der die Rolle der Datensicherung, des Systems der Aufzeichnungen usw. übernehmen kann, während ich weiterhin Git für meine lokale Verzweigung und Freigabe verwende. Ich bin nicht tun, ein Open-Source-Projekt, so kann ich nicht verwenden Github (ohne zu bezahlen), so meine Frage wirklich ist: Was ist die beste Methode, um einen lokalen Git-Server zu betreiben?

Mir ist klar, dass dies gegen das Standard-Git-Nutzungsmuster verstößt, aber es wird für mein Projekt nützlich sein. Bedenken, die ich möglicherweise übersehen habe, sind jedoch immer willkommen.

Gracias.

8voto

simpoir Punkte 211

Sie kann no am meisten gemeinsame Git-Server-Setup, aber nachdem ich mit verschiedenen Layouts, Tools, Spiegelungen und Berechtigungsschemata gespielt habe, würde ich sagen, dass eine ziemlich solide Alternative für Unternehmens-Repositories ist Gerrit Das mag überraschen, denn es ist eher als Code-Review-Tool bekannt. Wir begannen, es für die Codeüberprüfung zu verwenden, und es wurde langsam zu unserem Haupt-Repository, das g3/gitolite veraltete

  • Die Bereitstellung ist einfach (Sie legen die .war-Datei einfach in einen Tomcat ein)
  • hat eine Web-UI zur Verwaltung von Repositories, Gruppen und Berechtigungen (oder einen SSH-Cli)
  • hat eine eingebaute Java ssh- und git-Implementierung, so dass Sie nichts weiter einrichten müssen
  • ldap-Unterstützung für Benutzer und Gruppen (normalerweise ein Muss für Unternehmen)
  • ein sehr flexibles Berechtigungssystem (mit Projektgruppen, Vererbung von Berechtigungen, Einschränkung von Lese-/Schreib-/Verzweigungsrechten/ungeprüften Schreibrechten usw.)
  • Code-Review-Funktionen (falls Sie sich dafür interessieren)
  • Spiegelung von Repositories (um einige Repositories auf Github oder ein anderes öffentliches Repository zu verschieben)

Außerdem wird es von großen Projekten (z. B. Android, Chrome) verwendet, so dass es skalierbar ist und inzwischen recht solide ist. Geben Sie Ihren Benutzern einfach die PUSH-Berechtigung, wenn Sie den Code-Review-Teil umgehen möchten.

7voto

Hernán Eche Punkte 5929

Für ein Remote-Hosting Wie andere gesagt haben bitbucket.org bietet kostenlose private Repositories an, ich habe sie ohne Probleme genutzt.

Für lokale oder LAN-Netzwerke Ich werde dies hinzufügen scm-manager.org (Eine einzige ausführbare Datei, ist wirklich einfach zu installieren, es ist auf Java gemacht, so dass es auf Linux oder Windows laufen kann). Nur für den Fall, dass Sie es installieren, dies sind Standard-Passwörter.

Username: scmadmin
Password: scmadmin

6voto

Christian Specht Punkte 34680

In der Zwischenzeit hat die Mercurial Hosting-Website Bitbucket hat begonnen, auch Git-Repositories anzubieten.

Wenn Sie also keine . Server, sondern nur einen zentralen Ort, an dem Sie private Git-Repositories kostenlos hosten können. IMO ist Bitbucket die beste Wahl.

Kostenlos erhalten Sie eine unbegrenzte Anzahl privater und öffentlicher Git- und Mercurial-Repositories.
Die einzige Einschränkung besteht darin, dass im kostenlosen Paket nicht mehr als fünf Benutzer auf Ihre privaten Repositories zugreifen können (für mehr müssen Sie bezahlen).
Siehe https://bitbucket.org/plans für weitere Informationen!

4voto

joedborg Punkte 16307

Wenn Sie Pull-Requests wünschen, gibt es die Open-Source-Projekte von RhodeCode y GitLab und die bezahlten Versteck

2voto

liamacheung Punkte 169

Zusätzlich zu dem, was Chris gesagt hat, können Sie Gitosis (http://eagain.net/gitweb/?p=gitosis.git) verwenden, um zu kontrollieren, wer tatsächlich auf das Projektarchiv zugreifen kann.

Je nach Anwendungsfall können Sie auch Hooks (im Ordner .git/hooks) verwenden, damit Ihr Code automatisch in das Dateisystem des Servers gezogen wird, wenn Sie von Ihrem lokalen Rechner aus pushen. Hier ist ein beliebtes Skript für diesen Zweck: http://utsl.gen.nz/git/post-update . Dies wird jedoch nicht in allen Fällen notwendig sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X