2010-05-03 8 views
9

मैं बहुत सारे Emacs उपयोगकर्ताओं को गिट संस्करण नियंत्रण के तहत अपनी init फ़ाइल (.emacs या init.el) सुनता हूं और ड्रॉपबॉक्स पर गिट रिपोजिटरी को सिंक करता हूं, जब वे कई सिस्टम पर Emacs चलाते हैं। आप इस स्थिति में गिट का उपयोग क्यों करेंगे?आप ड्रॉपबॉक्स का उपयोग क्यों करेंगे, लेकिन आपके Emacs प्रारंभिक फ़ाइल के लिए भी गिट?

आम तौर पर जांचें कि आप किस प्रणाली पर हैं और किस चीज को लोड करना और सेट करना है, उस पर निर्भर करता है और सभी सिस्टम के लिए एक ही init फ़ाइल में हो सकता है। आप वास्तव में अपनी init फ़ाइल का संस्करण इतिहास क्यों सहेजना चाहते हैं, क्या यह वास्तव में महत्वपूर्ण है कि यह इसके लिए एक गिट भंडार को उचित ठहराता है?

तो, क्या यह आपकी इनिट फ़ाइल को ड्रॉपबॉक्स निर्देशिका में डालने के लिए पर्याप्त नहीं है और ड्रॉपबॉक्स में आपके सिंक किए गए गिट रेपो से नवीनतम संस्करण खींचने के बजाय सीधे इसे सीधे Emacs से लोड करें?

+2

यह अपेक्षाकृत अनावश्यक प्रतीत होता है, क्योंकि ड्रॉपबॉक्स में मूल संस्करण समर्थन अंतर्निहित है। – Amber

+0

डोनल फैलो: शीर्षक में यह जोर देने के उद्देश्य से था, लेकिन मैं इसे * और * में बदल दूंगा। –

+0

@ मिचेल: वास्तव में कोई ज़रूरत नहीं है; यह किसी भी तरह से अधिक आंखों को आकर्षित नहीं करेगा। –

उत्तर

7

गिट आपको संस्करण नियंत्रण देता है, ड्रॉपबॉक्स आपको मुफ्त निजी होस्टिंग देता है।

हाल ही में, यह एक निजी गिट रेपो होस्ट करने का एकमात्र मुफ्त तरीका था जिसे मैं जानता हूं। गिटोरियस, repo.or.cz और कंपनी के पास निजी रिपोज़ नहीं हैं और गिटहब, शेयरसोर्स और दोस्तों निजी रिपोज़ के लिए पैसे लेते हैं। असेंबला एकमात्र होस्टर है जो मुझे पता है कि मुफ्त निजी रिपो होस्टिंग प्रदान करता है, लेकिन यह पेशकश केवल तीन हफ्ते पहले शुरू हुई थी।

व्यक्तिगत कॉन्फ़िगरेशन फ़ाइलों में संवेदनशील डेटा हो सकता है, इसलिए उन्हें निजी रूप से होस्ट करने के लिए समझदारी होती है, लेकिन शायद यह एक ही .emacs फ़ाइल के लिए गिटहब 7 $/mo का भुगतान करने का अर्थ नहीं है।

+0

असली सवाल यह है कि, मैं अपने .emacs फ़ाइल के लिए संस्करण नियंत्रण क्यों रखना चाहता हूं? –

+4

ओला बिनी यहां यह बताते हैं: http://olabini.com/blog/2008/05/how-large-is-your-emacs/ – Andreas

1

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

गिट ने बहुत सारे उपयोगकर्ताओं को आकर्षित किया है, मुझे आश्चर्य नहीं है इनिट फ़ाइलों को ट्रैक करने के लिए इसका इस्तेमाल करने वाले लोगों की बात सुनना।

+0

। http://github.com/technomancy/emacs-starter-kit/network –

2

मैं न केवल Emacs कॉन्फ़िगरेशन फ़ाइलों के लिए ड्रॉपबॉक्स का उपयोग करता हूं बल्कि अन्य सभी बाहरी पैकेज (नए ऑर्ग-मोड, एसएलआईएमई, आदि) और व्यक्तिगत .el फ़ाइलों के लिए भी उपयोग करता हूं, ताकि मैं उन्हें इंस्टॉल और कॉन्फ़िगर कर सकूं (लोड पथ, जानकारी फाइलें, बाइट-संकलन इत्यादि) सभी प्रणालियों के लिए केवल एक बार, और कॉन्फ़िगरेशन फ़ाइलों (सामान्य सेटअप, सिस्टम या ओएस-विशिष्ट अनुकूलन) को प्रबंधित करने के लिए गिट का उपयोग करें।

उसके बाद, यह सब डाउनहिल है, क्योंकि मैंने अपने ड्रॉपबॉक्स (एपीआई दस्तावेज़, प्रोटोकॉल सामान, धोखा शीट इत्यादि) के साथ-साथ विकास सामग्री (जावा जार फाइल, स्रोत इत्यादि) में संदर्भ सामग्री का बहुत कुछ रखा है। कि मेरे पास सभी चीजों तक पहुंचने के लिए Emacs आदेशों के साथ मेरे सभी सिस्टम पर एक ही विकास वातावरण है।

+0

इसके लिए ड्रॉपबॉक्स का उपयोग करना सवाल नहीं है। सवाल यह है कि, इस मामले में, गिट, उस पर, संस्करण नियंत्रण प्रणाली का उपयोग क्यों करें। –

+1

क्योंकि Emacs कॉन्फ़िगरेशन और अनुकूलन कोड हैं और यह काफी जटिल और नाजुक हो सकता है जब इसमें विभिन्न ओएस के साथ कई मशीनें शामिल होती हैं? – gko

2

जब तक आप अपनी कॉन्फ़िगरेशन फ़ाइलों को कोड के रूप में सोचते हैं, तो आप एक उचित VCS का उपयोग करना चाहते हैं। ड्रॉपबॉक्स कुछ मूल्य देता है, लेकिन यह एक ही लीग में गिट के रूप में नहीं है।

यह छोटा है कि जब आप कोड के साथ काम करते हैं, तो आप दस्तावेज़ के पिछले संस्करणों को वापस रोल करने के बजाय अधिक चाहते हैं। आप संस्करणों के बीच मतभेदों को देखने के लिए एक त्वरित और प्रभावी तरीका चाहते हैं। आप जानना चाहते हैं कि क्या बदल गया, यह क्यों बदला गया, कब, आदि। आप प्रयोगात्मक शाखाएं बनाना चाहते हैं जहां आप काम करने वाले किसी चीज को छेड़छाड़ किए बिना कुछ नया करने की कोशिश करते हैं। आप प्रयोग से कुछ बदलावों को अपनी स्थिर शाखा में खींचना चाहते हैं; लेकिन शायद यह सब नहीं।

एक और मुद्दा यह है कि भविष्य में आप किसी भी कारण या अन्य कारणों से ड्रॉपबॉक्स से सभी इतिहास समेत अपनी फ़ाइलों को स्थानांतरित करना चाहेंगे। यदि आप गिट का उपयोग करते हैं, तो यह मामूली है।

1

ड्रॉपबॉक्स आपको कुछ इतिहास समर्थन देता है, लेकिन यह गिट के रूप में व्यापक और नियंत्रित नहीं है। यदि कोई डेवलपर गिट जानता है, तो यह उनके लिए गिट में Emacs जैसी चीजों के लिए अपनी कॉन्फ़िगरेशन फ़ाइलों को रखने के लिए समझ में आता है। आपके पास पूर्ण संस्करण है, आप कभी भी पुराना संस्करण नहीं खोते हैं, आप समय पर उपयोगी बिंदुओं पर सार्थक संदेशों के साथ परिवर्तन करते हैं।

अब, ड्रॉपबॉक्स पर क्यों करें, जब गिट आपको रिपॉजिटरीज़ के बीच धक्का/खींचने देता है? सादगी। यदि आपकी फ़ाइलें ड्रॉपबॉक्स पर हैं, तो वे आपके सभी ड्रॉपबॉक्स-जुड़े कंप्यूटरों पर पारदर्शी रूप से और स्वचालित रूप से हैं। तो आपको चिंता करने की ज़रूरत नहीं है "क्या मैंने बदलाव खींचा है? हालिया परिवर्तन कहां हैं?" इत्यादि। जैसा कि अन्य ने उल्लेख किया है, आपको अपने स्वयं के सर्वर या फॉर-पे सेवा पर कहीं भी निजी गिट भंडार रखने की आवश्यकता नहीं है।

दोनों करना आपको उन कंप्यूटरों पर आसानी से अपने कॉन्फ़िगरेशन को क्लोन करने में सक्षम होने का लाभ प्रदान करता है जो आसानी से ड्रॉपबॉक्स का समर्थन नहीं करते हैं (उदा। दूरस्थ सर्वर)। ड्रॉपबॉक्स को आपके लैपटॉप/डेस्कटॉप/वर्कस्टेशन, सर्वर पर गिट करने के लिए सिंक करने के लिए, और आपके पास न्यूनतम परेशानी के साथ हर जगह एक ही कॉन्फ़िगरेशन है। और सार्थक संस्करण।

संबंधित मुद्दे