Git in der Enterprise-Umgebung verwenden [geschlossen]

24

Git ist ein exzellentes Versionskontrollsystem. Wenn wir die Tatsache ausschließen, dass es keine hervorragende GUI-Unterstützung gibt, ist es wirklich gut und schnell. Aber die Quellcodeverwaltung wie Clearcase bietet großen Support für Unternehmenskunden. Unternehmen investieren viel in Quellcodeverwaltungsserver und Licesense.

In letzter Zeit übernehmen die meisten großen Unternehmen wie Google Git über andere Versionskontrollsysteme. Aber dieses Unternehmen hat eine starke Open-Source-Gruppe, die konsequent Entwicklung und Support für das Tool anbietet (sie haben möglicherweise sogar eine eigene benutzerdefinierte Version von Git). Gleichzeitig kümmern sich große Unternehmen nicht wirklich darum, Open Source-Projekte zu übernehmen und für sie relevant zu machen.

  • Ist Git wirklich ein zuverlässiges Tool für die Unternehmensumgebung, insbesondere auf der Windows-Plattform?
  • Die Unterstützung für Git ist fraglich, da es sich um ein Open-Source-Produkt handelt.
  • Gibt es ein Unternehmen, das Lösungen und Support anbietet? Wie sind die Serverkosten im Vergleich zu anderen Versionskontrollen wie Clear-Case?
sarat
quelle
2
Mir ist nicht bekannt, dass Google Git übernommen hat. Meines Wissens nach haben sie sich für Mercurial entschieden. Und Sie müssen mich auch von anderen großen Unternehmen überzeugen - haben Sie Beispiele?
Benjol
4
Hat großartige GUI-Unterstützung. Wählen Sie einfach ein gutes Betriebssystem.
2
@Benjol - Dieser Thread könnte Ihnen einige Einblicke geben. quora.com/…
sarat
1
@sarat, ich weiß, dass Twitter viel Geld wert ist, aber ich würde es nicht als groß oder ein Unternehmen einstufen. // Mir war nicht bewusst, dass code.google.comGit unterstützt wird, es sind sehr neue Nachrichten und ich bin mir nicht sicher, ob Sie das Übernehmen von Git über andere Versionskontrollen nennen können. [Ursprünglich] ( code.google.com/p/support/wiki/DVCSAnalysis) entschieden sie sich eindeutig für Mercurial über git
Benjol
@Benjol Im Allgemeinen kann ich nicht sagen, aber der öffentliche Guaven-Repo ist gerade auf Git umgezogen .
Maaartinus

Antworten:

37

GitHub ist KEINE Versionskontrolle - es "hostet" das Versionskontrollsystem "Git". Abgesehen vom Wortspiel ist dies ein sehr wichtiger Unterschied - wissen Sie es gut.

In Bezug auf die Verwendung in Unternehmen kann ich Ihnen sagen, dass git genauso intelligent (und praktisch und besser) ist wie so etwas wie SVN. Außerdem können Sie eine geeignete Versionskontrollstrategie (Workflow) basierend auf der Größe und dem Umfang des Projekts (und Ihres Teams) auswählen. Nicht verteilte Systeme können sich diese Flexibilität nicht leisten.

Bildbeschreibung hier eingeben

Schauen Sie sich für Windows Msysgit oder Visual Studio Extensions für Git an - Git funktioniert unter Windows sehr gut. Auch Windows-Benutzer schauen sich diese Schulungsserie von TekPub an - es ist alles Windows.

UPDATE [Feb 2013] Erste Schritte mit Git in Visual Studio

Ihre Frage ist nicht ungewöhnlich, und Sie könnten darüber googeln und eine Menge Text erhalten, der Ihnen erklärt, warum und wie (und ob) Sie Git im Unternehmen verwenden.

Mögen Sie Git immer noch nicht? Schauen Sie sich ein anderes DVCS namens Mercurial an .

Baumkodierer
quelle
12
Msysgit ist kein echter Windows-Bürger. Es funktioniert super, ist aber kaum 100% einheimisch.
Yann Ramin
+1 für Punkt einige wichtige Aspekte über Git. Obwohl @greengit auf mögliche Optionen für die Verwendung von Git unter Windows hingewiesen hat, ist es keineswegs so integriert wie beispielsweise SVN.
Tehnyit
Wir verwenden Eclipse, das gute Git-Unterstützung bekommen hat.
1
Ich denke, dass Gitolite (oder ähnliches) hier eine Erwähnung verdient. Viele Sicherheitsleute mögen die lokale, geschlossene und kontrollierende Option, das Repo lokal zu hosten.
Nic
2
@YannRamin: Msysgit ist definitiv ein echter Windows-Bürger und zu 100% einheimisch. Es kommt mit einer Unix-Shell, die etwas andere Konventionen verwendet, aber das ist die Shell, nicht Git. Sie können Msysgit von cmd.exe oder jedem anderen Windows-Prozess genauso wie jede andere native Anwendung verwenden. (Cygwin ist anders, aber Msys ist nicht Cygwin)
Jan Hudec
16

+1 Mercurial.

Mercurial ist cool, einfach, hat viele benutzerfreundliche GUIs und fühlt sich professioneller an. Ich habe nie verstanden, warum Git einen solchen Hype hatte, während andere große im Schatten stehen. Mercurial wird auch von Google Code, bitbucket.org (das Äquivalent von Github), Eclipse ... unterstützt. Ich benutze es seit zwei Jahren und war immer zufrieden damit.

Edit Februar 2014:

In der Zwischenzeit hat Git eine solche Führung übernommen, dass ich es über mercurial raten würde. Vor drei Jahren war Mercurial IMHO polierter, sauberer, besser. Der Hype war jedoch auf Gits Seite und die Dynamik, die es seitdem gewann, macht es zum klaren Gewinner. Aufgrund seiner riesigen Community ist es heute der De-facto-Standard.

dagnelies
quelle
Git ist viel mächtiger in Bezug darauf, wie Sie den Verlauf manipulieren können. Viele Leute werden sich dafür entscheiden, Filialen vor Ort zusammenzuführen und sie dann in einer einzigen Hauptfiliale zusammenzufassen, bevor sie zum Haupt- / öffentlichen Repo wechseln. Auf diese Weise bleibt die langfristige Geschichte sehr sauber. Soweit ich beim letzten Mal feststellen konnte, dass ich HG verwendet habe, unterstützt Mercurial diese Art von Verlaufsänderungen nicht. Im Allgemeinen ist Git in Windows zum Kotzen; Die besten GUI-Tools (Git-Cola, Gitk) für die Verwendung gibt es nur unter Linux.
Evan Plaice
1
Ich würde kaum sagen, dass Git aufgrund von Hype erfolgreich war: Als ich das letzte Mal nachgesehen habe, war Mercurials Backend-Format deltabasiert und anfällig für Korruption wie SVN oder CVS. Das grundlegende Modell von Git besteht hauptsächlich aus Schreibvorgängen mit atomaren Änderungen. Es ist nur eine technisch fundiertere Lösung.
Stuart P. Bentley
@ StuartP.Bentley: was meinst du mit korruption?
dagnelies
Plötzlich stoppen Sie einen Prozess während des Kopierens, Verschiebens, Schreibens, entweder auf Festplatte oder im Netzwerk: In Git werden immer nur Objekte erstellt, die sofort als Müll erkennbar sind (da der Inhalt nicht mit dem Hash übereinstimmt), und selbst wenn Sie Wenn Sie etwas in der Mitte verlieren, können Sie überprüfen, was Sie erhalten haben, und von dort aus die Dinge wieder zusammensetzen.
Stuart P. Bentley
Deltabasierte Formate wie Mercurial, die alle Informationen zu Änderungen in einer einzelnen Datei enthalten, können kleinere Unfälle verursachen (z. B. das Löschen einer Zeile, die eine Änderung beschreibt), bei denen die Datei so beschädigt wird, dass sie wie Humpty Dumpty beschädigt wird Es ist unmöglich, wieder zusammenzusetzen.
Stuart P. Bentley
8

Ich weiß, dass https://github.com/ Unterstützung in Bezug auf private Repositorys für Unternehmen bietet

Insbesondere bieten sie einen Dienst an, der als Firewall-Installation bezeichnet wird. Http://fi.github.com/ Sie geben an, Support zu leisten, haben jedoch keine Online-Informationen veröffentlicht und ich habe sie noch nie verwendet.

Die Kosten betragen 5000 $ pro 20 Personen pro Jahr.

c00w
quelle
-1 beantwortet seine Frage überhaupt nicht
MattyD
13
Er bat um Unternehmen, die Lösungen und Unterstützung bieten. Github hat eine spezielle Enterprise-Git-Hosting-Lösung für Unternehmen. Es beantwortet nicht die erste Frage. Es beantwortet sozusagen die zweite Frage. Es beantwortet die dritte Frage.
29.
Wow, wann hat sich der Preis für FI geändert? Das letzte Mal habe ich nachgesehen, es war ungefähr 200-250 $ / Monat und jetzt ist es das Double oO
Wildpeaks 30.07.11
8

Ich verwende sowohl Git als auch Mercurial unter Windows und beide sind mehr als brauchbar. Ich denke, die GUI-Tools für Mercurial sind besser. Wenn Ihr Team an visuelle Tools gewöhnt ist, ist dies möglicherweise eine bessere Lösung. Ich benutze allerdings eher die Kommandozeile - für mich macht das einfach mehr Sinn.

Beide sind meiner Erfahrung nach kugelsicher. Sie brauchen als solches keine Unterstützung, obwohl ich weiß, dass viele Unternehmen diese gerne haben.

Ich bin mir sicher, dass es andere gibt, aber es lohnt sich, einen Blick auf Kiln zu werfen , eine gehostete Lösung für Quecksilber.

Bitte beachten Sie: Unabhängig davon, in welche Richtung Sie gehen, unterscheidet sich DVCS erheblich von herkömmlichen VCS. IMHO, sie sind in fast jeder Hinsicht überlegen, aber es kann einige Zeit dauern, sich daran zu gewöhnen.

Ben Hughes
quelle
2
Es kann einige Zeit dauern, sich daran zu gewöhnen. // Ich erinnere mich, wie sehr ich Git während dieser langen zwei Tage der Adaption von SVN gehasst habe.
c69
6

Git ist fremd für Windows-Entwickler. Es ist kein wirklich erstklassiger Bürger. Es funktioniert gut, ist aber in erster Linie ein Linux-Tool. Zum Beispiel erfordert das Servermodell von git aus Sicherheitsgründen SSH-Anmeldungen.

Support ist eine Frage, und es gibt Unternehmen, die in der Regel eine gehostete Lösung bereitstellen können.

Es ist bekannt, dass für Git keine großen Server erforderlich sind. Da Repositorys immer mehr Kapazität und Geschwindigkeit benötigen, sind die Serveranforderungen um eine Größenordnung geringer als bei Clearcase.

Unser nicht ganz unternehmensweit tätiges Unternehmen mit weniger als 100 Mitarbeitern ist ein großer Git-Nutzer unter Windows mit Java- und C-Projekten.

Yann Ramin
quelle
1
Obwohl es sehr um die Dokumentation ging, konnte GIT sehr gut mit der HTTP-Basisauthentifizierung über SSL arbeiten, die von einem LDAP-Server unterstützt wird.
DoubleMalt
1
Achten Sie auf Leerzeichen / Zeilenenden, wenn Sie irgendetwas nach Linux portieren möchten. Es kann hässlich werden, wenn Sie nicht von Anfang an wachsam sind.
Evan Plaice
Git ist jetzt in VS 2013 und höher integriert. MS hat es zu einem erstklassigen Bürger gemacht.
Clay Smith
5

Git unterscheidet sich stark von Clearcase. Daher besteht die Herausforderung für Sie wahrscheinlich darin, Ihre Entwickler (und andere Benutzer) reibungslos auf eine andere Art und Weise mit Quellcode und Dateien zu migrieren. Je nachdem, wie erfahren Ihre Benutzer sind und wie tief Clearcase in Ihrem Unternehmen integriert ist, ist möglicherweise viel Schulung und Verlernen erforderlich.

Mein Vorschlag ist zunächst, dass Sie git in einem Pilotprojekt ausprobieren und sehen, wie es für Ihr Team funktioniert. Holen Sie sich ein sicheres Repository auf Github und Sie sind bereit für den Piloten.

Martin Wickman
quelle
5
  • Ist Git wirklich ein zuverlässiges Tool für die Unternehmensumgebung, insbesondere für die Windows-Plattform?

Wir werden bald ein starkes Ja mit diesem haben. Atlassian hat kürzlich mit der Veröffentlichung von Stash 1.3 große Schritte in diese Richtung unternommen .

  • Die Unterstützung ist eine Frage für Git, da es sich um eine Open Source-Versionskontrolle handelt.

Es gibt ein starkes Support-Netzwerk von erfahrenen Git-Benutzern, die kostenlose Beratung anbieten, sowie verschiedene LinkedIn-Gruppen (Git Version Control System). Eine schnelle Google-Suche kann in der Regel bei den meisten Anforderungen hilfreich sein. Für größere Unternehmen gibt es heute auch kommerzielle Git-Support-Optionen auf dem Markt.

  • Gibt es Unternehmen, die Lösungen und Support anbieten? Wie viel kostet der Server im Vergleich zu anderen Versionskontrollen wie Clear-Case?

Es gibt eine Reihe von Unternehmen, die Git jetzt zuverlässig und engagiert unterstützen. Clearvision und #goGit , um einen von ihnen zu nennen.

Joe
quelle
Die Versteckverbindung wird eineinhalb Jahre später unterbrochen. Ich fand es hier: atlassian.com/software/stash
1

An meinem Unternehmensarbeitsplatz habe ich daran gearbeitet, ein Team in Mercurial (ein ähnliches Tool wie git) gegenüber ClearCase zu integrieren.

Wir haben uns für hg in party entschieden, weil es auf Unveränderlichkeit ausgelegt ist, was für unsere Geschäftsziele wichtig ist. Da es in Python geschrieben ist, funktioniert es auch sehr gut in Windows. Git hat den Ruf, unter Windows Weaksauce zu sein, und meine Erfahrung hat dies widergespiegelt. (Ich stelle fest, dass die Tools jetzt besser sind, ich verwende nicht mehr genug Windows, um zu überprüfen. :-)).

Die Erfahrung war im Allgemeinen positiv, da die meisten unserer Nachteile mit Subrepositories und den damit verbundenen seltsamen Indirektionen zusammenhängen. Eine andere Sache ist, dass die Speicherung von Metadaten in hg nicht vorhanden ist. Dazu müssen andere Lösungen entwickelt werden.

Wenn ich Windows-Entwicklern eine Unternehmenslösung für "Out-of-the-Box" -Arbeit empfehlen würde, würde ich die Untersuchung von Kiln und GitHub Firewall empfehlen .

Ich weiß, dass dies Ihre Frage nicht direkt beantwortet. Aber lassen Sie es mich so sagen, wenn Sie an ClearCase gewöhnt sind, erwarte ich, dass GIT eine Größenordnung einfacher zu trainieren, zu implementieren und zu verwalten ist.

Paul Nathan
quelle
1

Git und Mercurial können in Unternehmensumgebungen verwendet werden. Zu einem gewissen Grad. Einige Organisationen haben zusätzliche Anforderungen, die derzeit von git nicht erfüllt werden, z. B. eine strengere Zugriffssteuerung, sodass nur bestimmte Benutzer (Lese-) Zugriff auf bestimmte Dateien im Repository haben, oder ähnliche Überwachungsschnittstellen, über die der Zugriff nachverfolgt werden kann. Einige kommerzielle Unternehmenssysteme sind auch stärker in das IT-Systemmanagement integriert, z. B. Backup-Lösungen für Unternehmen.

Git ist auch nicht gut, um sicherzustellen, dass der Verlauf beibehalten wird. Standardmäßig können Push-Vorgänge durchgeführt werden, um den gesamten Verlauf des Projekts zu überschreiben.

In großen Organisationen treten manchmal Skalierungsprobleme auf. Hier ist ein Fall, den Facebook hatte: http://comments.gmane.org/gmane.comp.version-control.git/189776 , während einige dieser Probleme behoben werden können (dh Facebook hat einige Probleme behoben, die bei mercurial auftraten: https: / /code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ ) kommerzielle Versionskontrollsysteme haben ein anderes Skalierungsverhalten, das möglicherweise (oder in anderen Umgebungen möglicherweise nicht) besser funktioniert.

... und dann ist da noch diese Sache mit der Verantwortung. Größere Unternehmen ziehen es möglicherweise vor, einen externen Anbieter anzurufen, wenn Probleme auftreten, anstatt ihre Zeit für das Debuggen der Probleme zu nutzen und sich auf die Unterstützung der Community zu verlassen. Insbesondere, wenn beschädigte Repositorys mit vertraulichen Informationen betroffen sind.

Dies sind keineswegs Probleme, die es in "Unternehmensumgebungen" unbrauchbar machen, aber wie immer hat unterschiedliche Software unterschiedliche Vor- und Nachteile, die von Fall zu Fall bewertet werden müssen.

johannes
quelle