गिट उन्हें मर्ज करने की कोशिश करने से पहले फ़ाइलों पर कुछ प्री-प्रसंस्करण का आह्वान करने में सक्षम होना चाहते हैं, और पोस्ट-प्रक्रिया विलयित परिणाम। यहां सामान्य विचार यह है कि कुछ फ़ाइलों को स्वचालित रूप से विलय करना मुश्किल होता है, लेकिन प्रोसेसिंग के लिए एक आसान रूप में परिवर्तित किया जा सकता है। यहां मेरा ठोस उपयोग केस है:मैं प्री-और पोस्ट-प्रोसेसिंग के साथ गिट फ़ाइल विलय कैसे लपेटूं?
मेरे पास अधिकतर संवेदनशील डेटा का भंडार नहीं है। उस भंडार के भीतर, मेरे पास sensitive.pgp
नामक फ़ाइल में एन्क्रिप्टेड संवेदनशील डेटा का थोड़ा सा हिस्सा है। मुझे यह व्यवस्था पसंद है क्योंकि मुझे विश्वास नहीं है कि मेरा भंडार सुरक्षित रूप से प्रबंधित किया जा रहा है, मुझे बस एन्क्रिप्शन और पासवर्ड पर भरोसा करना है। निश्चित रूप से पकड़ यह है कि गिट संभवतः एन्क्रिप्टेड टेक्स्ट को मर्ज नहीं कर सकता है, इसलिए यदि sensitive.pgp
एक बार में दो चेकआउट में संशोधित किया गया है, तो कोई विलय उपलब्ध नहीं है - भले ही स्पष्ट टेक्स्ट में परिवर्तन आसानी से अलग हो जाएं। मैन्युअल वर्क-फ्लो इस तरह है:
sensitive.pgp
के लिए संघर्ष विलय करें।- गिट-मेरेटूल शुरू करें। टूल भी पीजीपी फाइलों को मर्ज करने में विफल रहता है।
- अब मेरे पास मेरे संस्करण, मूल संस्करण और दूरस्थ संस्करण के लिए अस्थायी फ़ाइलें हैं।
- सभी तीन फ़ाइलों को डिक्रिप्ट करें।
- डिक्रिप्ट किए गए संस्करणों पर मेरे विलय टूल को आमंत्रित करें।
- परिणाम एन्क्रिप्ट करें।
- गिट-नया
sensitive.pgp
जोड़ें।
मैं गिट को अपने प्री-एंड-प्रोसेसिंग को लागू करने से पहले बताना चाहता हूं इससे पहले कि यह विलय करने का प्रयास करता है, इसलिए यह स्वचालित रूप से इसे संभाल सकता है। मैं एक ही सामान्य पैटर्न के साथ कई अन्य परिदृश्यों की कल्पना कर सकता हूं: उदाहरण के लिए, जब भी आपके पास टेक्स्ट-जैसी अंतर्निहित संरचना (उदा। पीडीएफ, ओपनऑफिस, वर्ड) के साथ संपीड़ित फ़ाइल प्रारूप होता है, तो बहुत कुछ।
कोई सुझाव?
बोनस पॉइंट्स: क्या इस ऑपरेशन को केवल विशिष्ट फाइलों या फ़ाइल प्रकारों पर ही कॉन्फ़िगर करने का कोई तरीका है, इसके अलावा उस तर्क को पूर्व-पोस्ट-प्रोसेसिंग में डालने के अलावा? –