आप ऐसा करने के लिए पूर्व-प्रतिबद्ध उपयोगिता का उपयोग कर सकते हैं । इसमें एक बिल्ट इन no-commit-to-branch
हुक है जो एक या अधिक शाखाओं में आने से रोकने के लिए इस्तेमाल किया जा सकता है।
सेट अप
मूल सेटअप प्रक्रिया है:
- पाइप या काढ़ा ( https://pre-commit.com/#install पर निर्देश ) का उपयोग करके स्थापित करें
.pre-commit-config.yaml
अपनी परियोजना की जड़ में एक फ़ाइल बनाएँ (पहले मसौदे के लिए नीचे देखें)
- अपने git config में हुक लगाकर चलाएं
pre-commit install
।
शाखाओं की सुरक्षा के लिए बुनियादी विन्यास
यहाँ एक बुनियादी विन्यास है जिसमें सिर्फ no-commit-to-branch
हुक शामिल है:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: no-commit-to-branch
args: ['--branch', 'master']
यदि आप कई शाखाओं की सुरक्षा करना चाहते हैं, तो आप --branch
तर्क सूची में कई args शामिल कर सकते हैं :
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.3.0
hooks:
- id: no-commit-to-branch
args: ['--branch', 'master', '--branch', 'staging']
क्या यह सब खत्म नहीं हुआ है?
प्री-कमिट में कई अन्य अंतर्निहित हुक होते हैं, और समुदाय-निर्मित हुक का एक बड़ा संग्रह होता है जो आपके साफ-सुथरे तरीके को बदल देगा और आपके आवागमन को मान्य करेगा। इस कारण मैं इसका उल्लेख करता हूं, क्योंकि यह उपकरण केवल संरक्षित शाखा में आने से रोकने के लिए ओवरकिल हो सकता है, इसमें कई अन्य विशेषताएं हैं जो इसे किसी भी गिट परियोजना के लिए एक सम्मोहक और सरल जोड़ बनाती हैं।
git commit
एक नया बनाते हैं, कोई तेजी से आगे बढ़ने वाला नहीं है। ऐसा लगता है कि आप बस सामान्य आवागमन को रोकना चाहते हैं जब वर्तमान शाखा होती हैmaster
, जिस स्थिति में,pre-commit
हुक में देखें।