मैं काम पर एक एसवीएन भंडार के साथ बातचीत करने के लिए गिट-एसवीएन का उपयोग कर रहा हूं और मुझे अपने जीवन के लिए संघर्षों को प्रभावी ढंग से हल करने का कोई तरीका नहीं दिख रहा है। मैंने इस विषय पर अन्य प्रश्न पढ़े हैं, लेकिन स्पष्ट रूप से मुझे कुछ और उपचार की आवश्यकता है क्योंकि मैं हमेशा किसी प्रकार के अंतहीन पाश में समाप्त होता प्रतीत होता हूं। मैं अपने संघर्षों को हल करने के लिए मेरेटूल (मिश्रित) का उपयोग करता हूं, और जब मैं उन सभी के अंत तक पहुंच जाता हूं, तो मैं एक डॉकिट करने की कोशिश करता हूं और मुझे प्रतिबद्ध त्रुटि के दौरान विलय संघर्ष मिलता है।गिट एसवीएन संघर्षों को हल करना
मुझे पता है कि यह एक डुप्लिकेट की तरह लगता है, लेकिन निराशा मुझे फिर से पूछ रही है, इस बारे में कुछ विशिष्ट विवरण के साथ कि मैं इस बारे में कैसे जा रहा हूं ताकि उम्मीद है कि कोई मुझे बता सकता है कि मेरी प्रक्रिया खराब हो गई है।
मेरे सेटअप:
मैं एक दूरस्थ शाखा (SVN/ट्रंक), एक स्थानीय शाखा (ट्रंक) और एक अन्य स्थानीय शाखा है कि मैं आम तौर पर में (कार्य-ट्रंक) काम करते हैं। ट्रंक को svn/trunk से चेक आउट किया गया था और ट्रंक से कार्य-ट्रंक की जांच की गई थी।
- मेरी ट्रंक पर,
git svn rebase
(रिटर्न संघर्ष) git mergetool
- सहेजें विलय फ़ाइल से [उस फ़ाइल के लिए संघर्ष को सुलझाने]:
यहाँ मैं क्या कर रहा हूँ है मिलाया और बंद मिलाया।
git add .
git rebase --continue
- [कुल्ला, दोहराने]
- अगर मैं एक संदेश पूछा था कि क्या मैं
git add
इस्तेमाल किया, मिल रहाgit rebase --skip
जब मैं सभी सूचना परिवर्तन के अंत में मिलता है, सब कुछ बस बंद हो जाता है और मुझे लगता है कि शायद मुझे यकीन नहीं है कि इस बिंदु पर क्या करना है। गिट कुछ भी करने के लिए नहीं दिखाता है और मैं ट्रंक पर वापस आ रहा हूं। गिट फिर मुझे डॉकिट करने की इजाजत देता है, लेकिन अगर मैं इसके तुरंत बाद एक रिबेस का प्रयास करता हूं, तो मैंने जिन संघर्षों को अभी हल किया है, उन्हें फिर से हल करना समाप्त कर देता हूं।
स्पष्ट रूप से एक महत्वपूर्ण टुकड़ा है जो मैं यहां लापता हूं, लेकिन मुझे बस यह नहीं दिख रहा है और इससे कई समस्याएं और निराशा होती है। गिट में विलय आसान हो सकता है, लेकिन मुझे यकीन है कि यह मामला नहीं है।
धन्यवाद।
अद्यतन: बस समस्या के भाग (या सभी) के मामले में मेरे वर्कफ़्लो का वर्णन करने के लिए एक त्वरित अद्यतन फेंकना चाहता था।
svn/
उपसर्ग के साथ मेरे भंडार को क्लोन करने के बाद, मेरे पास svn/trunk
दूरस्थ शाखा है। यह देखते हुए कि:
- I
git co -b trunk svn/trunk
एक स्थानीय शाखा में मेरा रिमोट देखने के लिए। - I
git co -b working-trunk
एक कार्यशील शाखा बनाने के लिए जिसका उपयोग मैं अलग-अलग डिग्री बनाने के लिए करता हूं ताकि मेरा स्थानीय ट्रंक हमेशा मेरे रिमोट ट्रंक को दर्पण कर सके। - मैं डिफ़ॉल्ट मास्टर शाखा को हटाता हूं (svn के साथ काम करते समय, मुझे "मास्टर" के बजाय "ट्रंक" के संदर्भ में सोचना आसान लगता है)।
एक बार मैं अपने शाखाओं के सभी है, मेरी ठेठ कार्यप्रवाह इस तरह दिखता है:
- पर काम ट्रंक, मैं अपने परिवर्तन करें और उन्हें करते हैं।
- I
git co trunk
औरgit svn rebase
करें। - नया कोड मान लिया गया था, मैं
git rebase working-trunk
। git co working-trunk
git merge trunk
git rebase trunk
git co trunk
git merge working-trunk
git svn dcommit
यह कदम की एक बहुत कुछ है, मुझे पता है, लेकिन है कि क्या यहां हर किसी को और दूसरी जगहों की सिफारिश की है है। क्या मेरी घातक दोष उस प्रक्रिया में कहीं कहीं हो सकती है?
फिर से धन्यवाद।
क्या आपने जवाब दिया उठाया (जिस्टिन) समस्या हल? – inger