मेरी फाइलों का इतिहास रखने के लिए तोड़फोड़, गिट या इसी तरह के संस्करण नियंत्रण प्रणाली के साथ शुरुआत करना? [बन्द है]


31

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


1
बस जिज्ञासु, माइक - शीर्षक क्यों संपादित करता है? मेरे दिमाग में, प्रश्न के शीर्षक उचित व्याकरण के नियमों का पालन करना चाहिए। शायद यह मेटा के लिए एक अच्छी चर्चा है ...
ट्रैविस नॉर्थकट

आप पहले से ही मेटा, tnorthcutt पर चर्चा का हिस्सा हैं । :)
अन्निका बैकस्ट्रॉम

जवाबों:


14

मुझे यकीन नहीं है कि आप संस्करण नियंत्रण का उपयोग करने के बारे में कितना जानते हैं, लेकिन मैंने हाल ही में एसवीएन से गिट में स्विच किया और पाया कि यह महान है!

हालांकि यह आप पर निर्भर करता है कि लाइव साइट के सर्वर में Git इंस्टॉल है (या आपको करने देगा)। मेरे पास लाइव सर्वर पर भी एक Git सेटअप है, एक शाखा को बंद करना जैसे कुछ कहा जाता है production। जब भी मैं स्थानीय रूप से कुछ को लागू करना / ठीक करना समाप्त करता हूं, तो मैं इसे productionशाखा में विलय कर देता हूं , फिर लाइव साइट के सर्वर में SSH और परिवर्तनों में खींच लेता हूं । एफ़टीपी पर फ़ाइलों को खींचता है जब आप कभी नहीं जानते कि क्या आप परिवर्तन लिख रहे हैं आदि।

मैं Git से परिचित होने में कुछ समय लगाने की सलाह दूंगा (यदि आप पहले से ही नहीं हैं), तो मुझे SVN की तुलना में बहुत आसान और कम परेशानी होती है जब यह फाइलों के लोड को बदलने / जोड़ने में आता है (और SVN के विपरीत यह बेवकूफ़ नहीं डालता है। .svnफ़ोल्डर हर जगह )।

मैं एक मैक पर हूं, इसलिए यदि इनमें से कोई भी लागू नहीं होता है, तो क्षमा करें, लेकिन मैं कोड संपादक के रूप में कोडा का उपयोग करता हूं और पोर्ट्स (पोर्टिकस का उपयोग करके) स्थापित करता हूं।

अगर मैं सब कुछ नए सिरे से तय करूँ, तो मैं करूँगा:

  1. कोड़ा स्थापित करें

  2. पोर्टिकस स्थापित करें (आपको पोर्ट स्थापित करने की आवश्यकता होगी, लेकिन उस पृष्ठ पर जानकारी है)

  3. एक बार जब आप पोर्टिकस स्थापित कर लेते हैं, तो इसे खोलें, "गिट-कोर" खोजें और इसे इंस्टॉल करें।

  4. डाउनलोड और GitX 7-5 स्थापित करें

  5. यहाँ एक git रेपो स्थापित करने पर एक अच्छा मार्गदर्शक है , लेकिन इसके मूल में है: 1. टर्मिनल खोलें। 2. cdजहाँ आप चाहते हैं कि आपकी साइट निवास करे। $: mkdir mysite && cd mysite3. $: git initऔर यह thats! यदि आप इस फ़ोल्डर में फ़ाइलें जोड़ते हैं तो अगले चरण पर जाएं

  6. एक बार जब आपने स्थानीय रूप से (लेख के ऊपर) एक जीआईटी रिपॉजिटरी स्थापित कर ली है, तो यदि आप उस निर्देशिका को जीआईटीएक्स में खोलते हैं तो आप सामान आदि के लिए प्रतिबद्ध होंगे।

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


क्या आप अपने वर्कफ़्लो की तरह अधिक विस्तार में जा सकते हैं, आप किस टूल / संपादकों का उपयोग करते हैं, आप अपने लाइव सर्वर आदि पर GIT कैसे सेट करते हैं? मैं जीआईटी जैसी किसी चीज के साथ सेटअप प्राप्त करने के तरीके के माध्यम से अच्छे कदम की उम्मीद कर रहा हूं।
ट्रैविस नॉर्थकट 15

मैंने शुरुआत करने के लिए कुछ कदम जोड़े, शुभकामनाएँ!
जो हॉयल

इसके अलावा, क्या आपके पास एक अच्छा ट्यूटोरियल है जो आप जीआईटी के लिए सुझाते हैं? मैं तोड़फोड़ पर हूँ और उम्र के लिए स्विच करना चाहता था क्योंकि तोड़फोड़ कितनी नाजुक हो सकती है (और उन लानत की वजह से भी .svn फ़ोल्डर्स भी! :)
माइकस्किंकेल

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

मैं केवल गिट सुझा सकते हैं। यह सिर्फ चट्टानों। चाहे जिस पर OS। मैं इसे लिनक्स पर और खिड़कियों पर अक्सर उपयोग करता हूं (इसलिए कहने के लिए: अब हर दिन)। खिड़कियों पर एक गिट बैश है। बड़ी बात यह है कि आपको सीधे सभी linux कमांड मिल गए हैं: code.google.com/p/msysgit
hakre

8

मैं वर्डप्रेस विकास में जो कुछ भी करता हूं, उसके साथ संस्करण नियंत्रण के लिए मैं एसवीएन का उपयोग करता हूं। मैंने वास्तव में इस तरह से शुरू किया क्योंकि मुझे प्लग-इन विकास के लिए एसवीएन की आवश्यकता थी ... एक बार जब मैं वहां गया, तो क्लाइंट साइटों पर थीम और कस्टम स्क्रिप्ट के लिए एसवीएन का उपयोग करना जारी रखना एक स्वाभाविक विस्तार था।

प्लग-इन

चूंकि प्लग-इन पहले से ही वर्डप्रेस सर्वर पर होस्ट किए जाते हैं, मैं सिर्फ /wp-content/plugins/अपने स्थानीय वर्डप्रेस इंस्टॉलेशन की निर्देशिका में प्लग-इन की सीधे जांच करता हूं (मैं अपने विकास बॉक्स पर डब्ल्यूएएमपी चलाता हूं)। फिर मैं अपनी स्थानीय प्रति में परिवर्तन करता हूं और जब यह शोटाइम के लिए तैयार होता है, तो भंडार के लिए प्रतिबद्ध होता है। यह एक सहज प्रक्रिया है, कोई अपलोडिंग / डाउनलोडिंग और त्वरित सत्यापन नहीं है कि मेरे परिवर्तनों ने काम किया है।

विषय-वस्तु

थीम कुछ अलग हैं, खासकर जब एक ग्राहक के लिए निर्माण। मैं एक स्थानीय रिपॉजिटरी बनाता हूं (मेरे पास Rविशेष रूप से इस उद्देश्य के लिए मेरी हार्ड ड्राइव पर एक विभाजन है) और खाली रिपॉजिटरी को सीधे मेरी /wp-content/themesनिर्देशिका में देखें। फिर मैं आवश्यकतानुसार परिवर्तन करता हूं और जब तक यह तैयार नहीं हो जाता, तब तक संशोधन करता रहता हूं।

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

उपकरण

जैसा कि मैंने कहा, मैं वर्डप्रेस के विकास की स्थापना को चलाने के लिए अपने स्थानीय मशीन पर WAMP का उपयोग करता हूं। यह मेरे बॉक्स पर पूरी तरह से काम करता है और मुझे वर्डप्रेस के कई उदाहरणों को चलाने की अनुमति देता है जैसा कि मुझे किसी विशेष प्रोजेक्ट के लिए चाहिए।

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

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


3

व्यक्तिगत रूप से, मुझे लगता है कि एसवीएन / जीआईटी को स्थापित करने और इसे प्रबंधित करने के लिए यह एक मजेदार अभ्यास है, लेकिन अगर आप प्रति माह $ 15 स्विंग कर सकते हैं, तो बर्नस्टाल हर पैसा लायक है। वे आपके लिए पूरे सर्वर का प्रबंधन करते हैं। http://beanstalkapp.com/ एफ़टीपी परिनियोजन उपकरण कमाल हैं। उदाहरण के लिए प्रतिबद्ध होने पर मेरा संस्करण स्वचालित रूप से मेरे मंचन सर्वर पर संस्करण को प्रदर्शित करता है

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

हम अपने एसवीएन को ड्रॉपबॉक्स में काम करते हुए रखते हैं, फिर समय लिखे जाने पर मैं फाइल तैयार करता हूं। मेरे डिजाइनर एसवीएन के साथ फाइल नहीं करेंगे या डील नहीं करेंगे, इसलिए यह समझौता है।

मैं एसवीएन को पसंद करता हूं क्योंकि मुझे उन सभी ट्रंकिंग की आवश्यकता नहीं है जो जीआईटी के लिए बहुत अच्छा है और एसवीएन के बेहतर जीयूआई उपकरण उपलब्ध हैं।


2

मुझे अप्टाना बहुत पसंद है , इसकी तोड़फोड़ में एकीकृत है और आप अपने सर्वर से ftp / sftp के साथ आसानी से जुड़ सकते हैं और फाइलों को ऊपर धकेल सकते हैं, एक और बढ़िया विशेषता यह है कि यदि आप एक नया php प्रोजेक्ट बनाते हैं और "संपूर्ण वर्डप्रेस" को शामिल करते हैं फ़ोल्डर (wp-admin, wp-शामिल) के साथ आपको अपनी थीम फ़ाइलों में कोड पूरा करने की सुविधा मिलती है।

मेरे सेटअप में रेपो स्थानीय है।


"रेपो" क्या है?
ट्रैविस नॉर्थकटt

2
"रिपॉजिटरी" के लिए "रेपो" आम शॉर्टहैंड है।
ट्रेवर ब्रम्बल

"रेपो" = "रिपॉजिटरी"
माइकस्किंकेल

मैं भी Aptit (जीत और लिनक्स के तहत) के अंदर git ( egit प्लगइन ) का उपयोग करता हूं , ठीक और आसान काम करता है।
मार 29'11

1

आप "लेकिन मैं उन सेटअप / वर्कफ़्लोज़ के विशिष्ट उदाहरणों की तलाश कर रहा हूं जो लोग वर्डप्रेस साइट पर संपादित फ़ाइलों के संस्करण इतिहास को रखने के लिए उपयोग करते हैं" लेकिन आप उत्पादों का भी उल्लेख करते हैं :)

आप उपकरणों की एक सूची और कुछ सर्वोत्तम प्रथाओं के उत्तर के रूप में ऊपर मिलते हैं, लेकिन मैं यहां वर्कफ़्लोज़ पर ध्यान केंद्रित करूंगा: वे आपकी विशेष विशिष्टता नहीं हैं:

लेकिन सामान्य उदाहरणों / सेटअपों / वर्कफ़्लोज़ के लिए:

शुरुआत के लिए: सीएम पैटर्न हैं, इसलिए टूलींग से स्वतंत्र हैं। सीएम पैटर्न पर गूगल, वहाँ बहुत सारी किताबें, विकी सम समुदाय जैसे http://www.cmcrossroads.com/forums

वहाँ भी एक वैध धारा रणनीति (गूगल स्ट्रीम रणनीति), आदि की स्थापना पर गाइड कर रहे हैं ...

मुझे नहीं लगता कि सीएम प्रबंधन की तुलना में वर्डप्रेस की तैनाती के बारे में कुछ खास नहीं है। बड़े साइबेल, एसएपी, इंफॉर्मेटा, जावा आदि पर समानांतर विकास हुआ। यह वास्तव में लगभग डिफ़ॉल्ट है।

मुझे जो याद आ रहा है, वह यह है कि किसी ने वर्डप्रेस डेवलपमेंट (अभी तक) (IEEE) के लिए CMplan नहीं लिखा है। एक बार किसी ने ऐसा किया है (उपकरण स्वतंत्र)। आवश्यकताओं को भरा जा सकता है, मुझे लगता है, किसी भी उपकरण के साथ।

मुझे लगता है कि यह योजना नहीं लिखी गई है कि लगभग सभी वर्डप्रेस कार्यान्वयन अभी भी एक साधारण विकास-उत्पादन सेटअप के साथ 1 व्यक्ति द्वारा किए जाते हैं, इसलिए विभिन्न चरणों को चलाने के लिए बनाए जा रहे विभिन्न संस्करणों को तैनात करने के लिए निर्माण चरण में कई डेवलपर्स / डिजाइनरों के साथ नहीं। उदाहरण के लिए, पर्यावरण का परीक्षण करें।

सीएमपी योजना सभी CI की दूसरे शब्दों में पहचान करने के साथ शुरू होती है: एक WordPress कार्यान्वयन में सभी प्रकार के CI की मौजूदगी की सूची बनाएं जिसमें ऐप्स, प्लगइन्स, डेटाबेस, प्रलेखन, मदद, सामग्री, कॉन्फिग फाइलें, रिलीज नोट्स (!), आदि शामिल हैं। ..)। यह एक अच्छी शुरुआत है। फिर तय करें कि आप किसे सीएम के तहत लाना चाहते हैं।

अगला यह तय करता है कि इन CI के कारणों में क्या बदलाव होता है, जैसे ग्राहक बगफिक्स के लिए कॉल करता है, या अपग्रेड जो आवश्यक है। यदि सही किया जाता है, तो यह एक ऐसी स्थिति की ओर ले जाता है जहां आपको महसूस होता है कि चीजें नियंत्रण में हैं।

उत्पादन से विकास में वापस विलय और उस अध्याय का हिस्सा बनने का तरीका (2 मुख्य पैटर्न यहां) (हालांकि संभोग के दौरान आपको इन हॉटफ़िक्स को कम करने का प्रयास करना चाहिए)।

केवल बाद में एक तरफ सीएम करने के लिए एक टूल की तलाश करें (जिसमें एक टूल के रूप में संस्करण प्रबंधन शामिल है) और दूसरी तरफ प्रबंधन टूलिंग को बदलें (जो आपको समझदार रखता है)।

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

क्या यह बहुत अधिक काम / बहुत भारी नहीं है: यह निर्भर करता है कि आपके पास कोई कंपनी है या नहीं: यह आपके गधे को एक दिन के लिए अच्छी योजना बनाने में बचा सकता है।


0

मैं एक साझा होस्ट पर हूं इसलिए मैं SVN या ऐसा कुछ भी इंस्टॉल नहीं कर सकता। मैं अपने होम मशीन पर संस्करण-नियंत्रण के लिए मर्क्यूरियल का उपयोग करता हूं। मैं स्थानीय और दूरस्थ फ़ोल्डरों को सिंक में रखने के लिए बियॉन्ड तुलना एफ़टीपी-सिंक का उपयोग करता हूं।


0

मैं git का उपयोग कर रहा हूँ। यह आसान है। आपको क्लोन, कॉमिट, पुश, पुल जैसी साधारण कमांड को समझना होगा और आप जाने के लिए तैयार हैं। यह मूल है।

अंततः, यदि आप इसे अधिक उपयोग करते हैं जैसे कि किसी उत्पाद पर काम करने के लिए टीम का समन्वय करना, तो यह एक और स्तर है। लेकिन अंत में, यह git या किसी भी संस्करण नियंत्रण का उपयोग करने के लायक था। छी-छी होने पर असली हो जाते हैं।

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