2013-03-06 11 views
13

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

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

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

+1

आप अभी भी आधिकारिक रूप से समर्थित [git-tf] (http://gittf.codeplex.com/) का उपयोग कर सकते हैं। –

+0

बिल्कुल वही लगता है जो मुझे चाहिए। एकमात्र कमी - इसे जावा की आवश्यकता है। अभी यह कोशिश कर रहा है। धन्यवाद – Agzam

+1

@DanielHilgarth नोट्स के रूप में, आप गिट-टीएफ या गिट-टीएफएस चाहते हैं। हालांकि विजुअल स्टूडियो के किसी भी आधिकारिक अपडेट से यह असंबंधित नहीं है, क्योंकि आपकी पूरी टीम को टीएफएस या गिट को अपनाने की जरूरत है। अगर टीम ने टीएफएस अपनाया है और आप गिट का उपयोग करना चाहते हैं, तो आपको हमेशा एक पुल की आवश्यकता होगी। –

उत्तर

8

git-tfs https://github.com/git-tfs/git-tfs मेरे लिए बेहतर काम किया। इन्सटाल करना आसान। प्रयोग करने में आसान। हालांकि थोड़ा धीमा है, लेकिन अगर आपको यह बुरा नहीं लगता है - केवल सही काम करता है

+0

क्या आप थोड़ा सा समझा सकते हैं कि आप इसे कैसे काम करते हैं? इस पंक्ति में: 'git tfs quick-clone http: // tfs: 8080/tfs/defaultCollection $/some_project', यह git-tfs क्यों नहीं है? ** त्वरित क्लोन ** - क्या यह सभी फ़ाइलों को नवीनतम संस्करण के लिए कॉपी करता है, क्या मैं किसी भी फाइल की प्रतिलिपि बनाने का चयन नहीं कर सकता हूं और केवल फ़ोल्डर संरचना (जैसे टीएफएस) प्राप्त कर सकता हूं, फिर चुनिंदा नवीनतम प्राप्त कर सकता हूं? क्या मैं केवल पूरा संग्रह या शाखाएं कर सकता हूं? क्या मैं फ़ोल्डर्स कर सकता हूं और यदि हां, तो कैसे? '$/some_project' किसी TFS फ़ोल्डर या गिट फ़ोल्डर को इंगित नहीं करता है? अगर टीएफएस, यह कैसे पता चलता है कि आउटपुट के लिए किस गिट फ़ोल्डर का उपयोग करना है? – Neolisk

4

हां, आप बिल्कुल सही हैं - आपको बस टीएफएस में .git से निपटने की आवश्यकता है। आम तौर पर, जीआईटी में सबकुछ बनाए रखा जाता है। इसलिए यदि आपके पास टीएफएस से बाहर रखने का कोई तरीका है (सबसे खराब मामला बाहर निकलता है और फिर वापस ले जाता है) तो आप समस्याओं के बिना जीआईटी का उपयोग कर सकते हैं।

ध्यान दें कि अन्य जीआईटी संबंधित फाइलें सौदा करने के लिए हो सकती हैं, .gitignore सबसे आम उदाहरण है।

मैंने जीआईटी और एसवीएन सफलतापूर्वक .git और संबंधित फ़ाइलों के बारे में जागरूकता का उपयोग करके ओवरलैड किया है। ; (। मैं जानता हूँ कि एक Git-svn पैकेज नहीं है, लेकिन है कि मेरी विशिष्ट जरूरत के लिए व्यावहारिक नहीं था)

इसके अलावा, इस पर गौर:

git init --separate-git-dir=<other-location-for-dot-git> 

आप अभी भी एक प्रतीकात्मक कड़ी से निपटने के लिए की आवश्यकता होगी स्थानीय निर्देशिका में लेकिन शायद टीएफएस मुद्दों से निपटना आसान है।

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