जवाबों:
ऐसा करने के लिए शायद ही कभी एक अच्छा कारण है, लेकिन पैरामीटर --allow-empty
खाली प्रतिबद्ध ( --allow-empty-message
संदेश नहीं बदला गया) के लिए है, इसके विपरीत खाली प्रतिबद्ध संदेशों के लिए। आप ऑनलाइन डॉक्यूमेंटेशन परgit help commit
जाकर या टाइप करके भी पढ़ सकते हैं ।
जबकि ट्री ऑब्जेक्ट (जिसका खुद का एक हैश है) समान होगा, कमिट में वास्तव में एक अलग हैश होगा, क्योंकि यह संभवतः एक अलग टाइमस्टैम्प और संदेश होगा, और निश्चित रूप से एक अलग पैरेंट प्रतिबद्ध होगा। उन तीनों कारकों को git
ऑब्जेक्ट हैश एल्गोरिथ्म में एकीकृत किया गया है।
वहाँ हैं कुछ कारणों से आप एक खाली प्रतिबद्ध (टिप्पणियों में से कुछ को शामिल) चाहते हो सकता है:
git
मनमाने ढंग से परिवर्तन ( वेलस के माध्यम से ) के बिना आदेशों का परीक्षण करना ।gitolite
( ततश के माध्यम से ) पुनः बनाने के लिए ।मेटाडेटा को एक पेड़ में जोड़ने के लिए अन्य रणनीतियों में शामिल हैं:
git notes
मौजूदा अपरिवर्तनीय प्रतिबद्ध के शीर्ष पर एक म्यूटेबल नोट को संबद्ध करने के लिए।commit --amend
यदि रिमोट बल को धक्का देने की अनुमति नहीं देता है। इस तरह आप डेवलपर्स को एक महत्वपूर्ण संदेश देखने की अनुमति दे सकते हैं जो पिछली प्रतिबद्ध के साथ जाता है।
यदि आप gitversion जैसी प्रणाली का उपयोग कर रहे हैं, तो यह इस प्रकार की प्रतिबद्धता करने के लिए बहुत मायने रखता है। आपके पास एक ऐसा वचन हो सकता है जो विशेष रूप से + सेवर: प्रमुख टिप्पणी का उपयोग करके प्रमुख संस्करण को टक्कर देने के लिए हो।
हो सकता है कि अधिक समझदार विकल्प के रूप में, आप एक एनोटेट टैग (संदेश के साथ नामांकित कमिट) बना सकते हैं। git tag -a
विकल्प देखें ।
dev
शाखा का रूप बनाते हैंmaster
और फिरfeat
तुरंत एक शाखा बनाते हैंdev
, तोfeat
शाखा शाखा से आती दिखती हैmaster
क्योंकिdev
जिसfeat
शाखा से शाखा आती है उस पर कोई भेद नहीं होता है। जब आप पहली बारdev
शाखा बनाते हैं तो एक खाली प्रतिबद्ध शाखा को स्थापित करने में मदद करती हैdev
क्योंकि यह अनिश्चित काल तक चलने वाली स्थायी शाखा हैmaster
। आम तौर पर यह तब मददगार होता है जब आप परतों के रूप में शाखाओं का उपयोग करते हैं, और एक सिंगल कमिट से दो लेयर बनाते हैं