2008-08-08 20 views
11

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

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

हम मिश्रित मैक/पीसी वातावरण में काम करते हैं, इसलिए विजुअल सोर्स सेफ या पूरी तरह से पीसी आधारित कुछ भी नहीं होगा। कोई मदद?

+0

शायद आप [निरंतर एकीकरण] (http://en.wikipedia.org/wiki/Continuous_Integration) जैसे कुछ ढूंढ रहे हैं? आपके पास लिंक में कुछ संसाधन हैं। –

+0

SourceGear [Vault] [1] या [TortoiseSVN] [2] पर एक झांक लें। उम्मीद है की वो मदद करदे। [1]: http: //www.sourcegear.com/vault/ [2]: http: //tortoisesvn.net/ –

उत्तर

15

मेरे द्वारा उपयोग किए जाने वाले सभी स्रोत नियंत्रण प्रणालियों (सीवीएस, सबवर्जन, गिट) बाइनरी फ़ाइलों के साथ-साथ पाठ को भी संभाल लेंगे। यदि आप सीमित संस्करण नियंत्रण अनुभव वाले डिजाइनरों के साथ काम कर रहे हैं, तो अभी सबवर्सन में जीयूआई की बेहतर पसंद है। पीसी पर, वहाँ TortoiseSVN, के लिए और मैक के लिए कोई विकल्प नहीं है के बारे में मैं Versions.

+0

संस्करण (http://versionsapp.com/) एक बहुत अच्छा एप्लीकेशन है, हालांकि यह है अभी भी बीटा में और सुविधाओं को अभी भी जोड़ा जा रहा है। यह प्रबंधन प्रकारों के साथ बहुत अच्छी तरह से नहीं जा सकता है।मैंने पाया है कि संस्करण कुछ विकल्पों (ज़िग संस्करण, एसवीएनएक्स) से बेहतर है, मैंने कॉर्नरस्टोन को नहीं देखा है। –

5

आपको क्या लगता है कि आप संस्करण, शाखा, संग्रह, आदि ... सबवर्सन के साथ ग्राफिक फाइल नहीं कर सकते हैं?

मैंने अपने कार्यक्रमों के लिए सबवर्जन का उपयोग किया है, जिसमें ग्राफिक्स शामिल हैं, और ऐसा लगता है कि उन्हें ठीक से संभाला जा रहा है। (खैर, diffing एक समस्या है, लेकिन मैंने एक अच्छी छवि-diffing कार्यक्रम के बारे में नहीं सुना है।)

5

आप किसी भी प्रकार की फ़ाइल को विवर्तन में जोड़ सकते हैं। यदि वे द्विआधारी फाइलें हैं, तो सहेजा गया संस्करण केवल एक प्रति है जबकि पाठ फ़ाइलों में केवल अंतर ही सहेजे जाते हैं; हालांकि, उपversण में उन अन्य प्रकार की फ़ाइलों को सहेजना बिल्कुल ठीक है।

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

1

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

2

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

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

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

0

मैं कई हफ्तों के लिए git का उपयोग कर रहा हूं और इसका बहुत शौक बन गया हूं। यह क्रॉस-प्लेटफार्म है, विवादों को असाधारण रूप से अच्छी तरह से प्रबंधित करता है, और हर किसी को अपना स्वयं का पूर्ण संस्करण भंडार देता है ताकि वे किसी नेटवर्क से कनेक्ट न होने पर भी परिवर्तनों की जांच कर सकें।

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

0

सबवर्जन में pre-compiled binaries for Mac OS X है। यह MacPorts और Fink के माध्यम से भी उपलब्ध है।कुछ महान इंटरफेस हैं (command-line से अलग)। svnX एक ओपन सोर्स क्लाइंट है जो थोड़ी देर के लिए आसपास रहा है, और जैसा कि बताया गया है Versions बंद स्रोत स्रोत क्लाइंट बहुत अच्छा दिख रहा है जो वर्तमान में बीटा में है। आपको अभी भी get familiar with the command-line होना चाहिए, क्योंकि आप उन मुद्दों में भाग लेंगे जो इन जीयूआई क्लाइंट हल नहीं कर सकते हैं।

Subversion handles binary files बहुत अच्छी तरह से। मैंने इसे अतीत में वेब प्रोजेक्ट्स के लिए उपयोग किया है, और सफलतापूर्वक संस्करण और फ्लैश फाइलों को कोड के साथ इस्तेमाल किया है।

0

मैक में "संस्करण" नामक कुछ है जो "टोर्टोइज एसवीएन" जैसे उपवर्ती यूआई है, मैंने इसे उपयोगकर्ता के अनुकूल और प्रभावी पाया है।

मैं मैक/पीसी पर्यावरण में भी काम करता हूं (डांग कलात्मक बच्चों) और उपversण वास्तव में जाने का तरीका है। मैं वहां सभी ग्रंथों, छवियों, प्रश्नों, और कोड रखता हूं।

मेरे गैर-तकनीकी सहकर्मियों ने अवधारणा को समझाते समय उपयोग करना आसान पाया।

0

मैं निश्चित रूप से विचलन को एक और रूप दूंगा। मुझे पता है कि यह उबाऊ हो सकता है, लेकिन एसवीएन बुक पढ़ने से टन में मदद मिलेगी।

मैं व्यक्तिगत रूप से मैक के संस्करणों का उपयोग करता हूं। एक subversion repo के साथ बातचीत के लिए यह वास्तव में एक महान यूआई है।

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

0

मुझे लगता है कि svn एक अच्छा विकल्प है, कुछ उपयोगकर्ता भी स्थानीय ब्रांचिंग करने के लिए गिट का उपयोग कर सकते हैं। मैं अपने मैक पर ग्रहण चलाता हूं इसलिए मैं गिट, एसवीएन कमांड लाइन, और सबवर्सिव (एसवीएन के लिए एक ग्रहण प्लगइन) का कॉम्बो का उपयोग करता हूं। यहाँ एक मैक के ग्राहकों SVN (सबसे क्रॉस प्लेटफॉर्म हैं)

http://scplugin.tigris.org/ TortoiseSVN की तरह लेकिन सुविधा के रूप में अमीर नहीं)
http://subcommander.tigris.org/
http://rapidsvn.tigris.org/
http://www.versionsapp.com/
http://www.syncrosvnclient.com/ (मुक्त $ 59 नहीं
http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

0
सूची) है

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

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