2016-02-02 8 views
5

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

हम अब कि पहली शाखा मुख्य शाखा है जहाँ से आप इन शाखाओं के दोनों अब हम समाधान फ़ाइल जो जाहिरा तौर पर केवल मैन्युअल रूप से हल किया जा सकता में एक संघर्ष है branched गया में वापस मर्ज करने के लिए कोशिश करते हैं ...

पहला संघर्ष SccNumberOfProjects = 3 टीएफएस वैरिएबल के साथ है जो फर्स्ट न्यूप्रोजेक्ट और सेकेंड न्यूप्रोजेक्ट समाधान फाइलों में समान है लेकिन इसे SccNumberOfProjects = 4 में बदला जाना चाहिए क्योंकि जब सेकेंड न्यूप्रोजेक्ट को वापस विलय कर दिया गया था तो परियोजनाओं की संख्या 3 थी, लेकिन अब हम फर्स्ट न्यूजप्रोजेक्ट को विलय कर रहे हैं परियोजनाएं अब 4.

इस चर को मैन्युअल रूप से बदलकर 4 को अमान्य बना देगा समाधान फ़ाइल?

दूसरा संघर्ष वैश्विक अनुभाग के भीतर है और इसे परियोजना संख्या के साथ करना है।

SccProjectUniqueName3 = FirstNewProject\\FirstNewProject.csproj 
SccProjectName3 = FirstNewProject 
SccLocalPath3 = FirstNewProject 

लेकिन FirstNewProject अब 4 परियोजना है तो हम

को इन प्रविष्टियों को बदलना चाहिए:

SccProjectUniqueName3 = SecondNewProject\\SecondNewProject.csproj 
SccProjectName3 = SecondNewProject 
SccLocalPath3 = SecondNewProject 

FirstNewProject समाधान फ़ाइल में ये पंक्तियां कहा:

SecondNewProject समाधान फ़ाइल में ये पंक्तियां जोड़ा

SccProjectUniqueName4 = FirstNewProject\\FirstNewProject.csproj 
SccProjectName4 = FirstNewProject 
SccLocalPath4 = FirstNewProject 

मैन्युअल रूप से और क्या वह समाधान फ़ाइल को अमान्य कर देगा और क्या इस तरह की स्थिति में वापस विलय करते समय कुछ और किया जाना है?

उत्तर

1

अपनी शाखा संरचना मान लिया जाये कि तरह है:

FirstNewProject 
/
Main branch 
\ 
SecondNewProject 

अब तुम दोनों FirstNewProject और SecondNewProject में संपादित, और मुख्य शाखा को FirstNewProject मर्ज करने के लिए, साथ ही SecondNewProject के रूप में चाहते हैं। SecondNewProject में SccNumberOfProjects 3 है, जबकि FirstNewProject में SccNumberOfProjects 4 है, तो आप मुख्य शाखा में SccNumberOfProjects भ्रमित कर रहे हैं 3 या 4 होना चाहिए, सही?

मुझे यकीन नहीं है कि आपने SccNumberOfProjects को बदलने का अनुरोध क्यों किया है, समाधान फ़ाइल अमान्य कर देगा। चूंकि आप मुख्य शाखा और अन्य शाखाओं के बीच विलय करते हैं, इसलिए स्रोत शाखा और लक्ष्य शाखा समान होनी चाहिए।

शाखा के संदर्भ में और मर्ज रणनीतियों, एक बुनियादी शाखा योजना की तरह के रूप में निम्नलिखित स्क्रीनशॉट से पता चलता दिखना चाहिए:

enter image description here

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

अपने परिदृश्य के लिए, आपको यह जांचना होगा कि आप कौन सी शाखा चाहते हैं, और संघर्ष को हल करने के लिए शाखा को संशोधित करें।फिर आप अपनी शाखाओं का प्रबंधन करने के लिए शाखा रणनीति का पालन कर सकते हैं।

4

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

+1

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

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