मैं थोड़ी देर के लिए बस git का उपयोग कर रहा हूँ। मैं पूरे होम डायरेक्टरी को ट्रैक नहीं करता, बस वे हिस्से जिन्हें मैं सक्रिय रूप से बदल रहा हूं। इसमें मेरा घर / बिन निर्देशिका शामिल है, जिसमें बहुत कम स्क्रिप्ट, मेरी .vim निर्देशिका और अन्य निर्देशिकाओं में कुछ बड़ी परियोजनाएँ शामिल हैं। इसके अलावा टर्मिनलों और ओपनबॉक्स के लिए कुछ कॉन्फ़िगरेशन हैं, साथ ही विभिन्न अन्य ऐप, रेपो में जोड़े गए हैं।
यह बहुत अच्छी तरह से काम करता है क्योंकि इस सभी सामान में एक ही अनुमति सेट है और मुझे मूल टाइमस्टैम्प के बारे में परवाह नहीं है। यह उस बिंदु पर पहुंच रहा है जहां मैं इसका उपयोग करके सबमोडुल्स में से कुछ को तोड़ने की योजना बना रहा हूं git filter-branch
। यह थोड़ा मुश्किल है, क्योंकि विभिन्न उपनिर्देशिकाओं में फ़ाइलों के बीच अन्योन्याश्रितताएं हैं (उदाहरण के लिए कुछ .vim स्क्रिप्ट मेरे बिन निर्देशिका से स्क्रिप्ट कह सकते हैं ... बहुत अच्छा उदाहरण नहीं है, लेकिन उम्मीद है कि आपको बिंदु मिल जाएगा)।
मुझे कोई और अधिक व्यापक समाधान नहीं मिला है, लेकिन यह वास्तव में किसी में भी नहीं देखा गया है, जिसमें git-home-history शामिल है। ऐसा लगता है कि पूरे घर निर्देशिका को संशोधन नियंत्रण में रखना बहुत जटिल होगा, और बहुत सारे चर होंगे। उदाहरण के लिए यदि आप अपने फ़ायरफ़ॉक्स प्रोफ़ाइल (एस) को संशोधन नियंत्रण में रखते हैं, तो आप बड़ी मात्रा में द्विआधारी अंतर को समाप्त करने जा रहे हैं। इसके अलावा ssh कीज जैसी चीजें हैं जो अक्सर डुप्लिकेट से बेहतर खो जाती हैं।
यदि आप अनुमति को ट्रैक करना चाहते हैं (निष्पादन योग्य बिट के अलावा, जो पहले से ही ट्रैक करता है) तो जाहिर तौर पर एक हुक है जो ऐसा करेगा। इसका उल्लेख इस सर्वरफॉल्ट थ्रेड में है ।