2013-01-08 20 views
8

के रूप में gruntjs का उपयोग करें precontit हुक के रूप में एक gruntjs कार्य चलाने के लिए कोई रास्ता है। उदाहरण के लिए मैं विफल परीक्षणों या झिंट मुद्दों के साथ काम करना चाहता हूं। मैंने हर प्रतिबद्धता के लिए कोड ब्यूटीफायर चलाने के बारे में भी सोचा है।precommit हुक

+0

हाँ; लेकिन आपको उस मशीन पर नोड की आवश्यकता है जहां यह चलता है। – forvaidya

उत्तर

8

गिट हुक केवल स्क्रिप्ट निष्पादित होते हैं जब आप प्रतिबद्धता की तरह कार्रवाई करते हैं। वे जो भी प्रोग्रामिंग भाषा आप चाहते हैं उसे शामिल कर सकते हैं।

ट्रिगर घुरघुराना का उदाहरण:

#!/bin/sh 
grunt 

सहेजें इस फ़ाइल में: .git/hooks/pre-commit

घुरघुराना एक त्रुटि कोड से अधिक 0, जो यह करता है, तो किसी भी कार्य असफल है, यह नहीं कर पाएगा करता है के साथ बाहर निकल जाता है तो प्रतिबद्ध:

इस हुक से बाहर निकल रहा है गैर शून्य प्रतिबद्ध रोकता


पढ़ना सामग्री: http://codeinthehole.com/writing/tips-for-using-a-git-pre-commit-hook/

और Git डॉक्स: http://git-scm.com/book/en/Customizing-Git-Git-Hooks

कई अन्य संस्करण नियंत्रण प्रणाली की तरह, Git कस्टम स्क्रिप्ट बंद आग जब कुछ महत्वपूर्ण कार्यों को घटित एक तरीका है।

+2

'अपनी प्री-प्रतिबद्ध फ़ाइल 0 पर chmod + x करना न भूलें –

5

मैं हाल ही में एक ही मुद्दा था और http://viget.com/extend/grunt-getting-started-with-git-hooks

+0

यह वही था जो मैं – deck

+0

के लिए देख रहा था, आप हुस्की का उपयोग करके यह वास्तव में आसानी से कर सकते हैं (सैन्स ग्रंट, अगर आपको पसंद है): https: // github। com/typicode/कर्कश – chrisM

2

पर अधिक व्यापक ग्रंट समाधान विस्तृत मुझे लगता है कि आप grunt-githooks, कि आप के लिए सभी जादू करता है और आप आसानी से ग्रंट रजिस्टर की सुविधा देता है एक अच्छा ग्रंट प्लगइन की जांच करनी चाहिए

grunt.initConfig({ 
    githooks: { 
    all: { 
     // Will run the jshint and test:unit tasks at every commit 
     'pre-commit': 'jshint test:unit', 
    } 
    } 
}); 

(https://github.com/wecodemore/grunt-githooks#defining-a-few-hooks पर डॉक्स से लिया)

: इस तरह के रूप में अपने Gruntfile.js में से कुछ हुक, के लिए कार्य

एनपीएम here पर मॉड्यूल खोजें।

संबंधित मुद्दे