Git के साथ $ HOME को कैसे ट्रैक करें


10

मैं अपने $ dir को git के साथ ट्रैक करना चाहूंगा। मुझे अन्य उप-विभाजनों (जैसे $ HOME / प्रोजेक्ट / repo_1 और इसी तरह) में कई अन्य git repos मिले हैं, जिन्हें ट्रैक नहीं किया जाना चाहिए, क्योंकि वे पहले से ही हैं।

मैंने गिट-होम-इतिहास पाया है लेकिन यह संग्रह से प्रकट होता है कि परियोजना अब सक्रिय रूप से विकसित नहीं हुई है।

आपने किस दृष्टिकोण की सिफारिश की? क्या घी पर्याप्त परिपक्व है?

मैं एक मैक पर हूं, लेकिन मैं क्रॉस प्लेटफॉर्म समाधानों में भी दिलचस्पी रखता हूं।

धन्यवाद

ps: मैंने देखा है, लेकिन डुप्लिकेट नहीं मिला, कृपया उन्हें इंगित करें अगर यह पहले से ही चर्चा की गई है।

जवाबों:


5

मैं थोड़ी देर के लिए बस git का उपयोग कर रहा हूँ। मैं पूरे होम डायरेक्टरी को ट्रैक नहीं करता, बस वे हिस्से जिन्हें मैं सक्रिय रूप से बदल रहा हूं। इसमें मेरा घर / बिन निर्देशिका शामिल है, जिसमें बहुत कम स्क्रिप्ट, मेरी .vim निर्देशिका और अन्य निर्देशिकाओं में कुछ बड़ी परियोजनाएँ शामिल हैं। इसके अलावा टर्मिनलों और ओपनबॉक्स के लिए कुछ कॉन्फ़िगरेशन हैं, साथ ही विभिन्न अन्य ऐप, रेपो में जोड़े गए हैं।

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

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

यदि आप अनुमति को ट्रैक करना चाहते हैं (निष्पादन योग्य बिट के अलावा, जो पहले से ही ट्रैक करता है) तो जाहिर तौर पर एक हुक है जो ऐसा करेगा। इसका उल्लेख इस सर्वरफॉल्ट थ्रेड में है


आप मेरे उपयोग के मामले को समझ गए थे: वास्तव में मैं स्क्रिप्टिंग और कॉन्फ़िगरेशन को साझा करने में दिलचस्पी रखता हूं। मैं इस मूल दृष्टिकोण के साथ जाऊंगा।
फ्रांसेस्को

FYI करें: इन दिनों मैं जो समस्या चल रही है, वह यह है कि मैं नए घटकों पर काम करते समय अपनी .vim निर्देशिका को शाखा नहीं देना चाहता। मैं अलग-अलग दृष्टिकोणों के एक समूह पर विचार कर रहा हूं: मैं संभवतः इसे एक अलग मॉड्यूल में विभाजित करके उपयोग कर रहा हूं filter-branch, और ~ के एक उपनिर्देशिका में 'प्रगति का काम' क्लोन स्थापित कर रहा हूं । यह एक आम तौर पर उपयोगी रणनीति लगती है: मुझे उम्मीद है कि यह मेरे पूरे होम डायर रेपो को क्लोन करने के लिए समान रूप से उपयोगी होगा, फिर क्लोन निर्देशिका में $ होम सेट करने के बाद स्क्रिप्ट का परीक्षण करें। मुझे यकीन नहीं है कि पर्यावरण चर कैसे सार्वभौमिक रूप से सम्मानित है, लेकिन मैं देखूंगा।
intuited

0

आप अपने होम डायरेक्टरी पर git का उपयोग कर सकते हैं, फिर उन git प्रोजेक्ट्स के लिए git सबमॉड्यूल्स या रिवाइज़-ट्री का उपयोग कर सकते हैं जो काम करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.