visual studio - विजुअल स्टूडियो के साथ गिट का उपयोग




लंबे समय तक विजुअल सोर्ससेफ उपयोगकर्ता (और नफरत) के रूप में मैं एक सहयोगी के साथ SVN स्विच करने पर चर्चा कर रहा था; उन्होंने इसके बजाय Git का उपयोग करने का सुझाव दिया। चूंकि जाहिर है, इसे केंद्रीय सर्वर के बिना पीयर-टू-पीयर के रूप में उपयोग किया जा सकता है (हमारे पास केवल 3-डेवलपर टीम है)।

मैं उन उपकरणों के बारे में कुछ भी नहीं ढूंढ पाया जो विजुअल स्टूडियो के साथ गिट को एकीकृत करते हैं, हालांकि - क्या ऐसी चीज मौजूद है?

विजुअल स्टूडियो के साथ गिट का उपयोग करने के लिए कौन सी तकनीकें उपलब्ध हैं? और मुझे यह जानने की ज़रूरत है कि मैं शुरू होने से पहले अलग कैसे हूं?



जैसा कि जॉन रिमर द्वारा नियंत्रित किया गया है, आप GitExtensions का उपयोग कर सकते हैं। GitExtensions विजुअल स्टूडियो 2005 और विजुअल स्टूडियो 2008 में काम करता है, यदि आप मैन्युअल रूप से कॉपी और कॉन्फ़िगर करते हैं तो यह विजुअल स्टूडियो 2010 में भी काम करता है। एडिन फ़ाइल।



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

असली जरूरी है कि अपनी .gitignore फ़ाइल उन चीजों से भरा हो जो साझा संग्रह में नहीं होनी चाहिए। मेरा आमतौर पर निम्नलिखित (अन्य सामानों के साथ) होता है:

*.vcproj.*.user
*.ncb
*.aps
*.suo

लेकिन यह किसी भी वर्ग विज़ार्ड शैली कार्यक्षमता के बहुत कम या कोई उपयोग के साथ पक्षपातपूर्ण सी ++ है।

मेरा उपयोग पैटर्न निम्न की तरह कुछ है।

  1. विजुअल स्टूडियो में कोड, कोड, कोड।

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

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

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


मैं अपने पोर्ट प्रोटोकॉल बफर के सी # के लिए विजुअल स्टूडियो के साथ गिट का उपयोग करता हूं। मैं जीयूआई का उपयोग नहीं करता - मैं सिर्फ एक कमांड लाइन के साथ ही विजुअल स्टूडियो रखता हूं।

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

लेकिन मूल रूप से - हाँ, यह ठीक काम करता है। मैं एक गिट नौसिखिया हूं, लेकिन मैं इसे सब कुछ करने के लिए प्राप्त कर सकता हूं जिसकी मुझे आवश्यकता है। सुनिश्चित करें कि आपके पास बिन और ओबीजे, और * .user के लिए एक गिट अनदेखा फ़ाइल है।


वर्तमान में विजुअल स्टूडियो (2010 और 12) में गिट स्रोत नियंत्रण के लिए 2 विकल्प हैं:

  1. गिट स्रोत नियंत्रण प्रदाता
  2. माइक्रोसॉफ्ट गिट प्रदाता

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

नोट : आप जो भी एक्सटेंशन उपयोग करते हैं, सुनिश्चित करें कि आप इसे Tools -> Options -> Source control -> Plugin Selection के लिए काम करने के लिए सक्षम करते हैं।




TortoiseGit परिपक्व हो गया है और मैं इसे विशेष रूप से अनुशंसा करता हूं यदि आपने TortoiseSVN का उपयोग किया है।


गिट एक्सटेंशन की नवीनतम रिलीज अब Visual Studio 2010 का समर्थन करती है ( Visual Studio 2008 और Visual Studio 2005 )।

मैंने विजुअल स्टूडियो 2008 के साथ उपयोग करना काफी आसान पाया और इंटरफ़ेस विजुअल स्टूडियो 2010 में समान प्रतीत होता है।







git