Nehmen wir an, Sie arbeiten mit einem Entwicklerteam von 20 Personen zusammen oder unterstützen es. Sie möchten Git-Pre-Commit-Hooks verwenden, um einige Validierungen für Code, der festgeschrieben oder verschoben wird, zu erzwingen. Beispiel: Sie möchten sicherstellen, dass Personen keine großen Assets oder Debug-Versionen von SWF-Dateien einchecken. Sie möchten auch prüfen, ob der Code genügend Testabdeckung usw. aufweist.
1.) Es sollte einen zentralen Ort geben, an dem diese Hooks verwaltet werden können
2.) Sie sollten automatisch für alle Benutzer / Maschinen aktualisiert werden
Ich hatte etwas Glück damit, etwas git setup und bootstrap config in den Build selbst zu legen.
Auf diese Weise können Sie das Verzeichnis .git/hooks
verwalten, indem Sie Ihrem Build eine Phase hinzufügen, die .git/hooks
mit einem committed conf/git-hooks
synchronisiert.
Das wird wahrscheinlich ziemlich schlecht funktionieren, wenn Ihre Entwickler nur ihre IDEs zum Erstellen / Ausführen / Testen des Codes verwenden und alle lokal laufenden Hooks vom Entwickler deaktiviert oder übersprungen werden können.
Sie können einige der Hooks (große Behauptungen, debug SWF-Prüfungen) auf Ihrem zentralen Repo, sehen Sie die Post-Empfang und aktualisieren Hooks .
Wenn Sie mehr Flexibilität benötigen, können Sie mit etwas wie Gitolites virtuellen refs -Funktionen nur bestimmten Entwicklern erlauben, sich zu präsentieren die Regeln.
Ich würde vorschlagen, dass Sie einen Entwickler nicht auf die Weise einschränken, wie er es tut. Geben Sie ihm die Freiheit, Aufgaben selbst zu priorisieren. Davon abgesehen ist es auch wichtig, eine Struktur im Codierungsstil zu erhalten.
Ich würde empfehlen, dass Sie einen Build-Runner wie Team City verwenden, um solche Aufgaben zu erledigen. Richten Sie einige Haken auf teamcity auf dem Entwicklungszweig ein, der die Codequalität bestätigt und Ihnen einen sehr ausführlichen Bericht sendet.
Manchmal müssen Sie auch Hotfixes an den Kunden senden, und die Codequalität ist zu diesem Zeitpunkt nicht wirklich wichtig. Diese Fälle werden zu einem echten großen Problem, wenn man mit so fiesen Haken in das System eindringt.
Tags und Links git pre-commit-hook