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




visual-studio git (13)

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

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

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

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


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




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

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

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



विजुअल स्टूडियो में माइक्रोसॉफ्ट द्वारा किया गया गिट समर्थन बुनियादी कार्य (प्रतिबद्ध / लाने / विलय और धक्का) के लिए पर्याप्त है। मेरी सलाह सिर्फ इससे बचने के लिए है ...

मैं अत्यधिक code.google.com/p/gitextensions (या कम अनुपात SourceTree ) पसंद करते हैं। क्योंकि DAG को देखना मेरे लिए वास्तव में समझना महत्वपूर्ण है कि गिट कैसे काम करता है। और आप इस बारे में बहुत अधिक जागरूक हैं कि आपके प्रोजेक्ट के अन्य योगदानकर्ताओं ने क्या किया है!

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

और, उदाहरण के लिए, GitExtensions को दिलचस्प प्लगइन के साथ बंडल किया गया है: पृष्ठभूमि फ़ेच, गिटफ़्लो, ... और अब, निरंतर एकीकरण !

Visual Studio 2015 के उपयोगकर्ताओं के लिए, यदि आप गिटहब एक्सटेंशन इंस्टॉल करते हैं तो गिट आकार ले रहा है। लेकिन एक बाहरी उपकरण अभी भी बेहतर है ;-)




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

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

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

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

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

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

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

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

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


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

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

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

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


जनवरी 2013 में, माइक्रोसॉफ्ट announced कि वे अपने सभी एएलएम उत्पादों में पूर्ण गिट समर्थन जोड़ रहे हैं। उन्होंने विजुअल स्टूडियो 2012 के लिए एक प्लगइन प्रकाशित किया है जो गिट स्रोत नियंत्रण एकीकरण जोड़ता है।

वैकल्पिक रूप से, गिट एक्सटेंशन नामक एक प्रोजेक्ट है जिसमें विजुअल स्टूडियो 2005, 2008, 2010 और 2012 के साथ-साथ विंडोज एक्सप्लोरर एकीकरण के लिए ऐड-इन्स शामिल हैं। यह नियमित रूप से अपडेट किया जाता है और इसे दो परियोजनाओं पर इस्तेमाल किया जाता है, मुझे यह बहुत उपयोगी लगता है।

एक और विकल्प गिट स्रोत नियंत्रण प्रदाता है


माइक्रोसॉफ्ट ने हाल ही में विजुअल स्टूडियो 2012 (अपडेट 2) के लिए गिट की घोषणा की। मैंने अभी तक इसके साथ नहीं खेला है, लेकिन यह वीडियो वादा करता है।

विजुअल स्टूडियो 2012 से गिट का उपयोग करने के तरीके पर एक त्वरित ट्यूटोरियल यहां दिया गया है।





git