2012-04-04 14 views
9

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

जहां तक ​​मेरा बता सकते हैं, मैं Git भंडार प्राप्त करने में सक्षम था (GitHub के साथ) काम कर रहा है, या कम से कम सुविधाओं का अधिकाधिक: 'Git स्टेजिंग' विंडो ठीक काम कर रहा है, मैं कर सकती हूं 'अस्थिर परिवर्तन' से फ़ाइलों को 'चरणबद्ध परिवर्तन' से खींचकर और फिर Commit आइकन पर क्लिक करके प्रतिबद्ध करें। फिर मैं वर्कस्पेस-> रिमोट्स-> मूल-> यूआरएल पर राइट क्लिक करके 'गिट रिपोजिटरीज' विंडो से अपने परिवर्तनों को धक्का दे सकता हूं, और मेनू से पुश का चयन कर सकता हूं (क्या यह 'सही' प्रक्रिया है?)।

'टीम सिंक्रनाइज़िंग' परिप्रेक्ष्य के साथ, मुझे इसे स्थापित करने के लिए कोई भाग्य नहीं है। एक बार 'सिंक्रनाइज़ करें ...' चुनने के बाद मेनू, गिट, फिर मुझे एक टेबल दिखाई देता है (यह क्या है?)। मैं गंतव्य के लिए विभिन्न मूल्यों की कोशिश कर रहा हूं (अन्यथा, फिनिश बटन को हिट करने में असमर्थ), लेकिन इससे कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, यह मुझे मेरी सभी परियोजनाओं के लिए 'कोई बदलाव नहीं' बताता है।

प्रोजेक्ट पर राइट क्लिक करते समय और 'टीम' चुनने पर कई संदर्भ-मेनू आइटम भी हैं। ये क्या हैं?

उत्तर

4

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

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

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

3

मेरी समझ से, "गिट रिपोजिटरी" परिप्रेक्ष्य का उद्देश्य कार्यशील निर्देशिका से फ़ाइलों को स्थानीय गिट भंडार में करने के लिए है, जबकि "टीम सिंक्रनाइज़िंग" परिप्रेक्ष्य आपके स्थानीय भंडार को रिमोट के साथ समन्वयित करने के लिए है।

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

"टीम" संदर्भ मेनू के अंतर्गत दिखाई देने वाले विभिन्न विकल्पों के लिए, वे गिट ऑपरेशंस के समूह से मेल खाते हैं। मैं ईजीट का उपयोग करने से पहले गिट के ऑपरेशन के सिद्धांत के बारे में कुछ पढ़ना चाहता हूं। http://git-scm.com/doc एक अच्छी शुरुआत होगी।

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