Gibt es eine Möglichkeit, eine Gruntjs-Aufgabe als Precommit-Hook auszuführen. Zum Beispiel möchte ich Commits mit fehlgeschlagenen Tests oder JShint-Problemen verhindern. Ich habe auch daran gedacht, einen Code-Beautifier für jedes Commit auszuführen.Verwenden Sie gruntjs als Precommit-Hook
Antwort
Git-Hooks werden nur Skripte ausgeführt, wenn Sie eine Aktion wie Commit ausführen. Sie können jede Programmiersprache enthalten, die Sie möchten.
Beispiel auszulösen Grunzen:
#!/bin/sh
grunt
speichern in der Datei: .git/hooks/pre-commit
Wenn Grunzen beendet mit einem Fehlercode höher als 0, was es tut, wenn eine Aufgabe scheitern, wird verhindert, dass es die commit:
Beenden ungleich Null von diesem Haken
der Commit Abbrüche
Lesematerial: http://codeinthehole.com/writing/tips-for-using-a-git-pre-commit-hook/
Und die git docs: http://git-scm.com/book/en/Customizing-Git-Git-Hooks
Wie viele andere Version Control Systems, hat Git eine Möglichkeit, benutzerdefinierte Skripts zu feuern, wenn bestimmte wichtige Aktionen auftreten.
Vergessen Sie nicht chmod + x auf Ihrer Pre-Commit-Datei zu tun –
Vor kurzem hatte ich das gleiche Problem und detailliert, um eine umfassendere Grunt Lösung auf http://viget.com/extend/grunt-getting-started-with-git-hooks
ich glaube, Sie grunt-githooks sollten überprüfen, ein schönes Grunt-Plugin, das die Magie alles für Sie tut und lässt Sie leicht Grunt registrieren Aufgaben für bestimmte Haken aus Ihrem Gruntfile.js
, wie zum Beispiel:
grunt.initConfig({
githooks: {
all: {
// Will run the jshint and test:unit tasks at every commit
'pre-commit': 'jshint test:unit',
}
}
});
(aus der Dokumentation Genommen an https://github.com/wecodemore/grunt-githooks#defining-a-few-hooks)
Finden Sie das Modul auf npm here.
- 1. gruntjs - Befehlszeilenargumente
- 2. Gruntjs Unterstreichungsvorlage Trennzeichen ändern
- 3. Gruntjs - Woher kommt ': generated'?
- 4. Konfiguriere Restangular.baseUrl mit Gruntjs
- 5. Try-Catch Aufgaben in GruntJS
- 6. Frontend-Entwicklung Workflow mit angularjs und gruntjs
- 7. GruntJs Grunt 'cmd öffnet Visual Studio?
- 8. Verwenden Sie better_errors als Debugger?
- 9. Verwenden Sie Objektiv als `map`
- 10. Verwenden Sie Seitenvariable als Vorlagevariable
- 11. Verwenden Sie PHP als Browser
- 12. So verwenden Sie ein Bitmap als Benachrichtigungssymbol
- 13. Vim: Verwenden Sie einen Ausdruck als Dateiname
- 14. Verwenden Sie Klassenvariablen als Konstanten in Scala
- 15. Fangsignale: Verwenden Sie eine Elementfunktion als Signalhandler
- 16. Verwenden Sie SVG als og: image
- 17. Verwenden Sie rails variable als Pfad
- 18. Verwenden Sie Objekte als Schlüssel in TObjectDictionary
- 19. Verwenden Sie doxygen Dateikopf als Modulbeschreibung
- 20. Verwenden Sie Vorlage mit Basisklasse als Parameter
- 21. Verwenden Sie TemplateField als PK für GridView
- 22. Properties-Datei: Verwenden Sie Schlüssel als Variable
- 23. Könnten Sie Lucene als OODB verwenden?
- 24. Verwenden Sie Dezimalwerte als Attributparameter in C#?
- 25. Verwenden Sie ein Bild als Trennzeichen UITableView
- 26. So verwenden Sie XML-Layout als Zeichenbild
- 27. Verwenden Sie ein DIV als Eingabe
- 28. Verwenden Sie NG-Repeat-Ausdruck als Filterwert
- 29. So verwenden Sie TouchableHighlight als wiederverwendbare Komponente
- 30. So verwenden Sie einen Block als Methodeneingabe
ja; aber Sie brauchen Knoten auf der Maschine, wo dies läuft. – forvaidya