Ich benutze Git für persönliche Projekte und finde es großartig. Es ist schnell, flexibel, leistungsstark und eignet sich hervorragend für die Remote-Entwicklung.
Aber jetzt ist es bei der Arbeit vorgeschrieben und ehrlich gesagt haben wir Probleme.
Standardmäßig scheint Git für eine zentralisierte Entwicklung in einer großen Organisation (über 20 Entwickler) mit Entwicklern mit unterschiedlichen Fähigkeiten und unterschiedlichem Git-Anspruch nicht gut zu funktionieren - insbesondere im Vergleich zu anderen Versionsverwaltungssystemen wie Perforce oder Subversion sind auf diese Art von Umgebung ausgerichtet. (Ja, ich weiß, Linus hat es nie dafür vorgesehen.)
Aber - aus politischen Gründen - wir bleiben bei Idiot, auch wenn es scheiße ist, was wir damit machen wollen.
Hier sind einige der Dinge, die wir sehen:
- Die GUI-Tools sind nicht ausgereift
- Mit den Befehlszeilen-Tools ist es viel zu einfach, eine Zusammenführung zu vermasseln und die Änderungen anderer zu löschen
- Es bietet keine Repository-Berechtigungen pro Benutzer, die über die globalen Nur-Lese- oder Lese- / Schreibrechte hinausgehen
- Wenn Sie die Berechtigung für JEDEN Teil eines Repositorys haben, können Sie JEDEN Teil des Repositorys auf dieselbe Weise ausführen. Sie können also nicht so etwas wie einen Verfolgungszweig für kleine Gruppen auf dem zentralen Server erstellen, den andere Benutzer nicht können sich anlegen mit.
- Andere Arbeitsabläufe als "alles geht" oder "wohlwollender Diktator" sind schwer zu fördern, geschweige denn durchzusetzen
- Es ist nicht klar, ob es besser ist, ein einzelnes großes Repository (mit dem jeder mit allem herumspielen kann) oder viele Repositorys pro Komponente zu verwenden (was zu Kopfschmerzen beim Versuch führt, Versionen zu synchronisieren).
- Bei mehreren Repositorys ist es auch nicht klar, wie alle Quellen, die jemand anderes hat, durch Abrufen aus dem zentralen Repository repliziert werden sollen, oder wie man gestern Nachmittag ab 4:30 Uhr alles abruft.
Ich habe jedoch gehört, dass Leute Git in großen Entwicklungsorganisationen erfolgreich einsetzen.
Wenn Sie sich in einer solchen Situation befinden - oder wenn Sie im Allgemeinen Tools, Tipps und Tricks haben, um die Verwendung von Git in einer großen Organisation, in der einige Leute keine Kommandozeilenfans sind, einfacher und produktiver zu gestalten -, würde ich gerne hören, was Sie haben vorschlagen.
Übrigens, ich habe bereits auf LinkedIn eine Version dieser Frage gestellt und keine wirklichen Antworten erhalten, aber viele "Meine Güte, das würde ich auch gerne wissen!"
UPDATE: Lassen Sie mich klarstellen ...
Wo ich arbeite, können wir nichts anderes als Git verwenden . Es ist keine Option. Wir bleiben dabei. Wir können nicht mercurial, svn, bitkeeper, Visual Source Safe, ClearCase, PVCS, SCCS, RCS, Basar, Darcs, monoton, Perforce, Fossil, AccuRev, CVS oder sogar Apples guten alten Projektor verwenden, den ich 1987 verwendet habe. Während Sie gerne andere Optionen besprechen können, erhalten Sie kein Kopfgeld, wenn Sie nicht über Git sprechen.
Außerdem suche ich nach praktischen Tipps zur Verwendung von Git im Unternehmen . Ich habe eine ganze Wäscheliste mit Problemen, die wir haben, ganz oben auf diese Frage gesetzt. Auch hier können die Leute gerne über Theorie diskutieren, aber wenn Sie das Kopfgeld verdienen möchten, geben Sie mir Lösungen.
a process
... (Ich hasse dieses Wort)