2009-02-11 14 views
30

के साथ प्रारंभ कैसे करें मुझे संस्करण नियंत्रण के बारे में बिल्कुल कोई जानकारी नहीं है। केवल यह कि कई तरीकों से यह बहुत उपयोगी हो सकता है।संस्करण नियंत्रण और PHP

मुझे कुछ संबंधित प्रश्न मिल गए हैं लेकिन कोई भी पूर्ण शुरुआत से शुरू नहीं होता है।

मैक ओएस एक्स का उपयोग करके मेरे काम पर एकमात्र डेवलपर हूं और पारंपरिक रूप से सिर्फ एफ़टीपी का उपयोग कर रहा हूं।

क्या कोई मुझे PHP परियोजनाओं के संबंध में संस्करण नियंत्रण के साथ मदद कर सकता है (क्या इससे कोई फर्क पड़ता है)?

+0

आपके पास किस प्रकार का कार्य वातावरण है? स्रोत कोड प्रबंधन प्रकार का प्रकार आपके पर्यावरण पर निर्भर करता है। – Simurr

+1

@alex, आपको http://stackoverflow.com/questions/250984/do-i-really-need-version-control/251121#251121 –

उत्तर

67

हाँ, इसे आज़माने, यह इसके लायक है।और जिस भाषा का आप उपयोग कर रहे हैं, इससे कोई फर्क नहीं पड़ता। यह मेरे लिए PHP के साथ बहुत अच्छा काम कर रहा है और यह आपके लिए भी होगा।

लाभ

आप केवल डेवलपर हैं, तो यह वास्तव में जाने के लिए आसान संस्करण नियंत्रण के बिना है। हालांकि, आपको संस्करण नियंत्रण प्रणाली का उपयोग करने के लिए बहुत लाभ मिलेगा। सबसे आसान लाभों में से कुछ हो जाएगा:

  1. कभी सोच क्या एक बार आप (कोई अधिक myproject090201-archive2-final6.zip) एक परियोजना के लिए वापस जाने
  2. कभी कुछ प्रमुख पुनर्रचना शुरू करने के लिए डर लगता है अपने नवीनतम संस्करण है , अगर आप अपनी फाइल पर गलती करते हैं, तो आप नवीनतम संस्करण
  3. पर रोलबैक करेंगे यदि कुछ आपके प्रोजेक्ट में काम करना बंद कर देता है और आपको लगता है कि यह एक बिंदु पर काम करता है, तो आप आसानी से कुछ पूर्व संस्करणों का परीक्षण कर सकते हैं और कोड
  4. आपके क्यू के अतिरिक्त बैकअप को तोड़ने के लिए वर्किंग वर्जन और गैर-वर्किंग वर्जन के बीच का अंतर देखें प्रेंट प्रोजेक्ट, और इससे भी बेहतर है कि यह आपकी मशीन पर नहीं है ... बेशक, आपके वर्जन कंट्रोल सिस्टम का बैक अप लेने के लिए अतिरिक्त अंक, हम कभी भी सावधान नहीं हैं, आप उस महीने की लंबी परियोजना को पुनरारंभ नहीं करना चाहते हैं आप?

विकल्प

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

बनाम केंद्रीकृत वितरित

थोड़ी देर के लिए सबवर्सन रहा है और इसे 'केंद्रीकृत' के रूप में वर्गीकृत किया गया है। इसका अर्थ यह है कि हर कोई हमेशा नवीनतम संस्करण लाएगा और अपने नवीनतम काम को एक केंद्रीय प्रणाली में प्रायोजित करेगा, अक्सर एक और सिस्टम पर हालांकि यह आसानी से आपकी मशीन पर हो सकता है। यह समझने में आसान प्रक्रिया है।

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

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

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

उपकरण

आप पूरी तरह अपने मैक के लिए एक GUI उपकरण की जरूरत है, मैं तो SVN निर्णय लेना होगा स्रोत को नियंत्रित करना शुरू किया पाने के लिए। वहाँ है कि (वाणिज्यिक) के लिए दो बहुत अच्छा उत्पादों रहे हैं:

और कुछ other ones (जैसे मुक्त svnX के रूप में) है कि एक छोटा सा पुराना है और में अमित्र होते जा रहे हैं मेरी राय लेकिन यह वैसे भी दिलचस्प कोशिश कर सकता है।

यदि आप टर्मिनल की सहायता से जीयूआई उपकरण का उपयोग नहीं करते हैं, तो आप उपरोक्त किसी भी सिस्टम के साथ कुछ सरल कमांड लाइनों के साथ सभी चीजों को करने में सक्षम होंगे।

शुरू अंक

किसी भी मामलों में, आप कुछ शुरुआती बिंदु चाहता हूँ।

  • सबवर्सन के लिए, अपने पहला पड़ाव उनके मुक्त पुस्तक, Version Control with Subversion होना चाहिए। अध्यायों के माध्यम से जाने के लिए अपने दिन के कुछ घंटे लें, यह समय अच्छी तरह से निवेश किया जाएगा। परिचय अध्याय एक अच्छा पढ़ा है, भले ही आप सबवर्सन का विशेष रूप से उपयोग नहीं करना चाहते हैं क्योंकि यह आपको संस्करण नियंत्रण को थोड़ा बेहतर समझने के लिए प्राप्त करेगा।

  • एक वितरित प्रणाली के लिए, मुझे मर्कुरियल के साथ मजा आया है लेकिन यह आसानी से ज्वलनशील विषय है इसलिए मैं आपको अपनी पसंद बनाने दूंगा। लेकिन यदि आप Mercurial को देखकर समाप्त होते हैं, तो this blog post पर एक नज़र डालें, यह मेरे लिए एक उत्कृष्ट स्टार्टर था जो आपको कुछ मिनटों में मूलभूत बातें लेकर चलाएगा यदि आप पहले से ही सामान्य रूप से संस्करण नियंत्रण के आदी हैं । वैसे भी, Mercurial's homepage से ड्रॉप करें और पृष्ठ के प्रारंभ प्रारंभ अनुभाग पर एक नज़र डालें।

निष्कर्ष

इसे जाने दो, एक दिन का निवेश यह कुछ फर्जी फाइलों के साथ बाहर की कोशिश कर रहा। फाइलों और निर्देशिका का नाम बदलने, मिटाने, चीजों को चारों ओर ले जाने, बाइनरी फाइलों को बनाम टेक्स्ट फाइलों, संघर्षों को हल करने और पुराने संस्करणों में वापस लाने के लिए इसे बदलने का प्रयास करें। संस्करण नियंत्रण के साथ खेलते समय ये अक्सर कुछ पहली बाधाएं आती हैं और यदि यह गैर-उत्पादन परियोजना पर है तो यह दर्द रहित होगा।

किसी भी मामले में, यह कुछ अच्छी तरह से सीखने वाली सीख है जो आपकी एकल परियोजनाओं के साथ-साथ आपके वर्तमान नौकरी या आपके अगले व्यक्ति के साथ अन्य डेवलपर्स के साथ काम करने में भी मददगार होगा।

शुभकामनाएं!

5

कोड का प्रकार अप्रासंगिक है।

एक ओपन-सोर्स और लोकप्रिय संस्करण नियंत्रण प्रणाली सबवर्जन है और एक बहुत अच्छा अवलोकन/मैनुअल here है।

2

इसके अलावा, आप एक्लिप्स पीडीटी (PHP प्लगइन) प्राप्त कर सकते हैं और आईडीई में सबक्लिब्स का उपयोग कर सकते हैं।

+0

पर मेरे उत्तर में दिलचस्पी हो सकती है जिसे उपversण का उपयोग करके एकीकृत करना आसान बनाना चाहिए आपका वर्कफ़्लो – VirtuosiMedia

0

बाहर चेक अन्य विकल्प भी - Miscrosoft के TFS (यह केवल स्रोत नियंत्रण प्रणाली के लिए लेकिन दोष ट्रैकिंग, परियोजना प्रबंधन आदि आदि के लिए इस्तेमाल नहीं), Bazaar, Git लोकप्रिय होते हैं।

-1

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

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

+0

-1 सीवीएस को व्यापक रूप से सबवर्जन के पक्ष में बहिष्कृत माना जाता है जो सुविधाओं का सुपरसेट प्रदान करता है, ओपी के सिस्टम पर बेहतर समर्थन करता है और सीवीएस पीड़ित लगभग सभी गंभीर समस्याओं को हल करता है। –

+0

सीवीएस क्या पेशकश करता है कि एसवीएन नहीं करता है? मैंने पहले इस तर्क को सुना है और अभी तक सीवीएस के लिए एक आकर्षक तर्क सुनना नहीं है। –

+0

यह "सरल" है क्योंकि यह बहुत पुराना है। हालांकि, आधुनिक पैकेज सिस्टम लगभग कुछ भी सरल, शायद मोरेसो बनाते हैं। – staticsan

3

मैं PHP विकास के लिए Git का उपयोग करता हूं।

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

इसकी वितरित प्रकृति जिस तरह से आप चाहते हैं (केंद्रीय भंडार के साथ या बिना) काम करने की अनुमति देती है। एक खूबसूरती से डिजाइन

1

Mac पर कर रहे हैं, अपने आप को एक एहसान करो और संस्करण लेने, (:

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

http://versionsapp.com/

2

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

Project Plus प्लगइन प्रोजेक्ट पेड़ में वर्जन की गई फ़ाइलों के लिए छोटे अविभाज्य बैज जोड़कर इसे एक कदम आगे ले जाता है, जो एक नज़र में एक परियोजना में फाइलों की स्थिति दिखाता है।

1

उपयोग बाजार http://bazaar-vcs.org/

यह बहुत अच्छा है और आप मिनटों में इसे का उपयोग शुरू कर सकते हैं।

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