2015-01-26 23 views
6

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

कोड, वीएस के लिए, एकाधिक परियोजनाओं के साथ एक एकल समाधान है। मैंने सफलतापूर्वक वीएस का उपयोग करके टीएफएस के समाधान को जोड़ा, और यह सभी परियोजनाओं को ढूंढना और उनकी .csproj फ़ाइलों और सभी कोड को टीएफएस स्रोत नियंत्रण में जोड़ना प्रतीत होता था।

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

मैं विजुअल स्टूडियो शुरू करता हूं। एक "टीम एक्सप्लोरर - होम" टैब है जिसमें "होम | ऑफ़लाइन" दिखाया गया है। मैं उपकरण/विकल्प/स्रोत नियंत्रण जांचता हूं और टीएफएस वर्तमान संस्करण नियंत्रण प्रदाता है।

मैं टीम एक्सप्लोरर टूलबार पर "प्लग" आइकन पर क्लिक करता हूं; यह कनेक्शन याद करता है और अब "कनेक्ट | ऑफ़लाइन" दिखाता है; नीचे एक लिंक "टीम प्रोजेक्ट्स का चयन करें ..." के साथ एक पंक्ति है और प्रत्येक के बगल में डाउन पॉइंटिंग त्रिकोण वाले दो खंड हैं। एक में टीएफएस सर्वर का नाम होता है (इसके बाद (1)); इसके तहत (केवल) "टीम प्रोजेक्ट" का नाम है जहां यह टीएफएस में संग्रहीत है। दूसरे खंड में "स्थानीय गिट रेपॉजिटरीज़ (1)" है और इसके आगे समाधान निर्देशिका के पथ के साथ समाधान का नाम दिखाता है। टैब शीर्षक "टीम एक्सप्लोरर - कनेक्ट" है। मैं टीम प्रोजेक्ट के नाम पर डबल-क्लिक करता हूं और टैब शीर्षक "टीम एक्सप्लोरर - होम" में बदल जाता है और स्क्रीन "होम | {teamProjName}" और दो अनुभाग दिखाती है। एक के पास "वेब पोर्टल" और सामान्य "लंबित परिवर्तन", "स्रोत नियंत्रण एक्सप्लोरर", आदि के नीचे आइकन अनुभाग "परियोजना" है; और एक और खंड "सॉल्यूशंस" जिसमें एक पंक्ति है "वर्कस्पेस: {वर्कस्पेसनाम} | नया ... |" ओपन ... "; नीचे एक ही समाधान फ़ाइल है। मैं समाधान नाम पर डबल-क्लिक करता हूं, और अब स्क्रीन शो "होम | समाधाननाम (स्थानीय) "; समाधान अनुभाग में अब" शाखा: मास्टर "(गिट का साक्ष्य) है और उपकरण/विकल्प/स्रोत नियंत्रण का कहना है कि यह माइक्रोसॉफ्ट गिट प्रदाता में बदल गया है। अगर मैं इसे वापस टीएफएस में बदलता हूं, तो यह कहता है" होम | ऑफ़लाइन "और मुझे फिर से" प्लग "आइकन पर क्लिक करना होगा - और मैं ठीक कहां से शुरू हुआ हूं, सिवाय इसके कि यह कहता है" कनेक्ट | {solutionName} (स्थानीय) "

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

मैं माइक्रोसॉफ़्ट गिट प्रदाता को अक्षम करने के लिए रजिस्ट्री हैक्स करने के बहुत करीब हूं - मैंने अपना गिट काम किया है गिट गुई और कमांडलाइन का उपयोग करके; वीएस शामिल नहीं है।

क्या मैं पागल हूं? मैंने सोचा होगा कि "स्थानीय रूप से गिट का उपयोग करके विकसित करें, दूसरों के साथ सिंक करने के लिए टीएफएस से कनेक्ट करें" वीएस

0 के लिए मुख्यधारा के उपयोग का मामला था

किसी भी सहायता की सराहना की जाएगी। धन्यवाद।

+0

टीएफएस द्वारा प्रदान की गई दो स्रोत नियंत्रण प्रणाली हैं। गिट और टीएफवीसी। आप एक से दूसरे ओओबी तक धक्का नहीं दे सकते। क्या आप पुष्टि कर सकते हैं कि आप सर्वर पक्ष का उपयोग कर रहे हैं? –

+2

ध्यान दें कि टीएफएस एक ऐसा सर्वर है जो गिट रिपॉजिटरीज़ * या * टीएफवीसी रिपोजिटरीज जैसी चीजें होस्ट करता है। गिट का उपयोग करके स्थानीय रूप से विकसित करना और दूसरों के साथ सिंक करने के लिए * टीएफवीसी * का उपयोग करना वीएस के लिए मुख्यधारा के उपयोग के मामले में नहीं है। जैसा कि @MrHinsh बताता है: वीएस में आप टीएफवीसी का उपयोग कर सकते हैं या आप गिट का उपयोग कर सकते हैं, लेकिन यदि आप दोनों के बीच एक (हानिकारक) अनुवाद चाहते हैं, तो वीएस आपके लिए ऐसा नहीं करेगा। –

उत्तर

3

यदि सर्वर TFVC के लिए कॉन्फ़िगर किया गया है और आपके पास स्थानीय गिट रेपो है तो आप केवल स्थानीय से tfs तक नहीं दबा सकते हैं। आपके पास दो विकल्प हैं। आप कर सकते हैं:

1) आप एक नई टीम परियोजना बना सकते हैं जो गिट के लिए कॉन्फ़िगर किया गया है और सामान्य के रूप में धक्का दिया गया है।

2) यदि आप अपने स्थानीय Git रेपो से TFVC सर्वर से पुश करने के लिए TF-Git का उपयोग कर सकते हैं: अगर .git फ़ोल्डर Git भंडार के लिए दुकान के रूप में प्रयोग किया जाता है http://www.microsoft.com/en-gb/download/details.aspx?id=30474

+0

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

5

दृश्य स्टूडियो केवल Git संग्रह देखता है। इसलिए, हम गिट स्टोर के लिए एक अलग फ़ोल्डर का उपयोग कर नकली आउट वीएस कर सकते हैं।

  • _git करने के लिए वर्तमान .git फ़ोल्डर (.git dir छिपा हो सकता है) नाम बदलना
  • है कि एक ही बस लाइन gitdir: _git (कमांड लाइन के माध्यम से फ़ाइल बनाने: echo gitdir: _git>.git) वाले फ़ोल्डर .git कहा जाता है में एक पाठ फ़ाइल बनाएँ
  • अपने .gitignore फाइल करने के लिए _git जोड़े

अब जब आप यह वी.एस. लांच कि Git भंडार और Wil नहीं देखेंगे मैं इसके बजाय टीएफएस का उपयोग करें।

0

मैंने अपने स्थानीय भंडार के लिए Mercurial का उपयोग करने के लिए स्विच किया। इसमें कोई वीएस एकीकरण नहीं है (बाहरी काम करने की आवश्यकता है) लेकिन वीएस परेशानी भी नहीं है।

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