आप ऐसा करने के लिए पूर्व-प्रतिबद्ध उपयोगिता का उपयोग कर सकते हैं । इसमें एक बिल्ट इन 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हुक में देखें।