2009-02-19 22 views
18

मान लीजिए कि मैं विजुअल स्टूडियो का उपयोग कर घर पर एक नई वेब प्रोजेक्ट शुरू कर रहा हूं, जो संस्करण नियंत्रण प्रणाली, जैसे। गिट या सबवर्जन का उपयोग करना बेहतर होगा? कम से कम सेटअप जटिलता कौन सा होगा?गिट या सबवर्जन?

+1

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

+0

क्या विजुअल स्टडीयन एकीकरण एक आवश्यकता है? –

+0

विजुअल स्टूडियो एकीकरण एक आवश्यकता नहीं है लेकिन एक अच्छा है। – sduplooy

उत्तर

4

Git एक वितरित स्रोत नियंत्रण सेटअप है और मैं कल्पना नहीं कर सकते जैसा कि आप केवल उपयोगकर्ता हैं कि आप अपनी सुविधाओं से ज्यादा लाभ होगा। सबवर्सन (मेरी राय में) स्थापित करना आसान है, इसलिए मैं आपको इसके साथ जाने की सलाह दूंगा।

+0

के बारे में नहीं पता गिट का डिस्कनेक्ट पहलू एक डेवलपर के लिए काफी उपयोगी हो सकता है। मैं इंटरनेट कनेक्शन के बिना ट्रेन पर बहुत काम करता हूं ... – Guillaume

+0

"सेट अप" गिट आसान है: "गिट इनिट"। बैंग, आपका भंडार और आपका काम करने वाला पेड़ उपयोग करने के लिए तैयार है। :) – Bombe

+1

क्या फीचर्स गिट की कमी से उन्हें फायदा होगा? –

3

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

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

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

39

नहीं है, मेरे सवाल का सरल है: आप पहले से ही सबवर्सन या Git को जानते हो?

  • यदि आप एसवीएन जानते हैं - गिट का उपयोग करें।
  • यदि आप गिट - एसवीएन का उपयोग करते हैं।

आप नहीं जानते, तो या तो - SVN का उपयोग करें। यह एक बेहतर परिचय है।

+0

अब तक का सबसे अच्छा जवाब, +1 –

+3

या सिर्फ डार्क्स, मर्कुरियल या बाज़ार का उपयोग करें। सबवर्सन और गिट पहले से ही बहुत लोकप्रिय हैं और इसलिए un1337 हैं, और यदि आप उनका उपयोग करते हैं तो आप भी un1337 बन जाएंगे। – yfeldblum

+1

मुझे 7,777 प्रतिनिधि खराब खराब लग रहा है, लेकिन मुझे चाहिए। +1 –

10

सबवर्सन मेरे अनुभव में विंडोज़ के अनुकूल है और एकल डेवलपर के लिए भी अधिक उपयोगी है।

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

+0

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

+0

बाज़ार एक और डीवीएस है जो विंडोज़ को बेहतर तरीके से समर्थन देता है। कोई सिगविन नहीं, कोई मैसी नहीं, कोई गिट नहीं। – paxos1977

12

मैं गिट के साथ जाऊंगा। यह नहीं है कि बुनियादी बातों पर तेजी लाने के लिए बुरा हो रहा है (अब learn.github.com सहित अच्छे संसाधनों का एक टन है) और यह हुकुम में भुगतान करेगा। और मैं Vista पर बिना किसी जांच के इसका उपयोग कर रहा हूं।

+0

घर परियोजना के लिए गिट का उपयोग करने का क्या फायदा है? – Hortitude

+0

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

+1

इसके अलावा, गिट जगह पर एसएसएन फ़ोल्डर्स नहीं डालता है। जो कोड बेस क्लीनर रखता है। और, गंभीरता से, शाखा, विलय, स्क्वैश काम करना बहुत आसान है। – Abizern

4

यदि आप अकेले काम कर रहे हैं और कुछ प्रकार के संस्करण नियंत्रण का उपयोग करना चाहते हैं, तो सबवर्सन का उपयोग करें। यह विंडोज पर बहुत अच्छा काम करता है, रिपॉजिटरी सेट अप Tortoise SVN के साथ खाली में एक दायाँ क्लिक है। Ankh SVN विजुअल स्टूडियो के साथ एक बहुत अच्छा एकीकरण प्रदान करता है - लगभग टीएफएस के बराबर पर प्रदान किया जाता है बशर्ते आप वीएस 2005 या अधिक हाल ही में उपयोग करें।

दूसरी तरफ, गिट एसवीएन की तुलना में अधिक आशाजनक है। मैं इस साल के दौरान इसे देखूंगा, लेकिन तीसरे पक्ष के उपकरण अभी तक समान नहीं हैं।

-2

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

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

[EDIT2] यदि आप यूएसबी स्टिक पर एक एसवीएन चेकआउट डालते हैं, तो आपके पास बहुत सी छोटी फ़ाइलें भी होंगी (विशेष रूप से .svn निर्देशिकाओं में)। तो इस मामले में समाधान यूएसबी ड्राइव पर सबवर्जन रिपोजिटरी ("सर्वर") डालना है। भंडार केवल बड़ी फ़ाइलों का एक समूह का उपयोग करता है (यदि आप फ़ाइल आधारित एक के बजाय डेटाबेस विकल्प का उपयोग करते हैं: svnadmin create --fs-type bdb)। यह "कई छोटी फाइलों की समस्या" से बचाता है। गिट के मौजूदा संस्करणों के साथ एक ही चीज़ को हासिल करने का कोई तरीका नहीं है।

+1

इस में से कोई भी बैक अप लेने के लिए? –

+0

आप क्या जानना चाहते हैं? –

+0

यहां एक गैर-मुद्दा: फ्लाई पर ज़िप इस घटना के खिलाफ आश्चर्यचकित करता है। अधिक, यदि आप एक सबवर्जन वर्किंग फ़ोल्डर बैकअप लेना चाहते थे, तो आप उसी तरह के मुद्दों में भाग लेंगे, क्योंकि .svn फ़ोल्डर प्रत्येक फ़ाइल की एक प्रति रखता है। –

1

आइए मेरी सवारी में अपने प्रश्न और पर पूछते हैं: विंडोज पर

  1. करता Git काम करता है?
  2. क्या इसमें कुछ ऐसा है जो कछुआ के बराबर है? (अन्यथा मुझे नहीं लगता कि यह आसानी से उपयोग के संदर्भ में एसवीएन के साथ कैसे प्रतिस्पर्धा कर सकता है)

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

+0

1 - हाँ, 2 - अभी तक नहीं, और आपके अंतिम प्रश्न का उत्तर देने के लिए - हाँ। –

+0

ड्रॉपबॉक्स बहुत अच्छा है, लेकिन आईएमओ इसकी संशोधन सुविधा पूरी परियोजना के प्रबंधन के कार्य तक काफी नहीं है। यदि आपको किसी संपूर्ण निर्देशिका को पहले की स्थिति में वापस करने की आवश्यकता है तो इसे करने का कोई आसान तरीका नहीं है। (मैं बस अपने ड्रॉपबॉक्स फ़ोल्डर में एक एसवीएन कामकाजी प्रतिलिपि रखता हूं, इसलिए मुझे दोनों दुनिया के सर्वश्रेष्ठ मिलते हैं। :)) –

+0

टोर्टोइज एसवीएन Vista से XP पर काफी बेहतर है, क्योंकि XP ​​पर यह विंडोज एक्सप्लोरर के साथ बेहतर एकीकृत करता है। Vista पर यह क्या करता है, मैं कमांड लाइन से सीधे एसवीएन का उपयोग कर बंद कर दूंगा। –

4

मैं इसके बजाय Mercurial के साथ जाऊंगा। यह गिट के समान होना चाहिए (जिसे मैं विंडोज़ मुद्दे के कारण कभी नहीं चला सकता) और "निजी" संस्करण नियंत्रण प्रणाली के लिए बहुत अच्छा विंडोज & में सेटअप करना वास्तव में आसान है।

+0

+1 की शुरुआत हुई है। Mercurial एक डीवीसी की लचीलापन इंटरफेस की तरह एक बहुत ही सरल और सहज ज्ञान युक्त subversion के साथ अनुमति देता है।एसवीएन के लिए इस्तेमाल किया जाने वाला कोई भी व्यक्ति एचजी और इसके विपरीत के साथ बहुत जल्दी आराम कर सकता है। गिट का उपयोग करने का एकमात्र समय यह है कि जब मुझे इसकी शाखाओं की क्षमताओं की आवश्यकता होती है, जो एचजी के –

2

यदि आप विजुअल स्टूडियो एकीकरण चाहते हैं तो कोई सवाल नहीं है। केवल सबवर्सन में विजुअल स्टूडियो एकीकरण (AnkhSVN, VisualSVN और कई स्क्रिप्ट्स हैं जो TortoiseSVN तक पहुंच की अनुमति देती हैं)।

सबवर्जन के लिए लिखे गए इस तरह की बड़ी मात्रा में टूल्स के सबसे महत्वपूर्ण कारणों में से एक यह है कि इसे कई क्लाइंट्स द्वारा उपयोग के लिए एक स्थिर लाइब्रेरी के रूप में डिज़ाइन किया गया था।

यह संभव नहीं है कि गिट समर्थन कुछ प्रकार की पुन: प्रयोज्य लाइब्रेरी के रूप में उपलब्ध होने से पहले गिट को विजुअल स्टूडियो में एकीकरण का एक ही स्तर मिल जाए। (libgit2 के लिए योजनाएं हैं जो इसे वास्तविकता बना सकती हैं)।

+0

से काफी बेहतर हैं, तो मैं [gitextensions] (http://code.google.com/p/gitextensions/) का उपयोग करता हूं जिसमें एक दृश्य स्टूडियो ऐड-इन होता है और मैंने व्यक्तिगत रूप से इसे एसवीएन एड-इन्स से बेहतर पाया है। – Lukazoid

0
SVN के साथ

आप, एक सर्वर स्थापित करने के लिए वहाँ एक भंडार बनाने के लिए, बाहर की जाँच (खाली) भंडार अपनी फ़ाइलें जोड़ने के लिए, और उसके बाद के लिए प्रतिबद्ध होगा ।

गिट के साथ, आपको अपनी परियोजना की रूट निर्देशिका में git init की आवश्यकता है। फिर आप फिट बैठकर फ़ाइलों को जोड़ और प्रतिबद्ध कर सकते हैं।

सबवर्सन सर्वर स्थापित करने में वास्तव में कोई विचार नहीं है, क्योंकि आप स्रोत पर काम करने वाले अकेले हैं। कई लोग क्या सोचते हैं इसके विपरीत, एकल परियोजनाएं वितरित संस्करण नियंत्रण उपकरण के लिए एक आदर्श मैच है। बाद में अपनी परियोजना को बढ़ाना भी बहुत आसान है।

+0

एक एकल डेवलपर को svn के साथ सर्वर की आवश्यकता नहीं है: http://tortoisesvn.tigris.org/faq.html#noserver – user282727

0

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

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

मैं आपको एक होस्टेड प्रदाता को देखने की सलाह देता हूं ताकि आपको सबवर्सन सर्वर स्थापित करने की चिंता न करें या आपके पास अपने गिट डेटा के लिए बैकअप स्थान हो। अंतरिक्ष में प्रमुख प्रदाताओं को देखने के लिए आप Google को "subversion hosting" या "git hosting" के लिए Google कर सकते हैं।

1

गिट ................................ (ये बिंदुएं हैं क्योंकि SO 3 स्वीकार नहीं किया गया है)।

1

इस सवाल का जवाब एक महान recenting जैक Repenning यहाँ से के बारे में लिखा गया था:

  • आप एक ही, कुछ, मास्टर अपने काम के प्रति के लिए सम्मोहक आवश्यकता है, तो सबवर्सन का उपयोग करें। आप इसे गिट के साथ कर सकते हैं, जब तक कोई स्लिप-अप न हो। लेकिन आप सबवर्सन (पर्ची-अप या नहीं) के साथ कुछ और नहीं कर सकते हैं, और सर्बेंस-ऑक्सले जैसी "आकर्षक आवश्यकताओं" संभावनाओं की तुलना में गारंटी के साथ खुश हैं।

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

  • सिर्फ इस मामले के लिए डिजाइन किया गया था? अपना चुनाव लें, आपको किसी भी उपकरण के साथ ठीक होना चाहिए। *

पूर्ण ब्लॉग यहाँ पोस्ट: http://blog.codesion.com/post/15692788883/subversion-or-git-decisions-decisions

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