जवाबों:
ऐसा करने के लिए शायद ही कभी एक अच्छा कारण है, लेकिन पैरामीटर --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। आम तौर पर यह तब मददगार होता है जब आप परतों के रूप में शाखाओं का उपयोग करते हैं, और एक सिंगल कमिट से दो लेयर बनाते हैं