2011-02-11 9 views
6

मेरे पास एक गिट svn भंडार है।गिट एसवीएन दुःख, क्यों ओह मैं कभी कम क्यों नहीं कर सकता?

git svn clone http://myrepo/ myrepo 

मैं मास्टर में काम करना चाहते हैं न: थोड़ी देर के लिए

git checkout -b development 

हैक।

git checkout master 
git svn rebase 
git rebase development 
git svn dcommit 

अब तक सब अच्छा, ऐसा लगता है के बाद से मैं पिछले किया था कोई नहीं के लिए प्रतिबद्ध है, SVN रिबेस does not किसी भी परिवर्तन और विकास से मेरी रिबेस ए-ठीक काम करता है।

Merge conflict during commit: File or directory 'inc/data.inc' is out of date; try updating: resource out of date; try updating at /usr/local/git/libexec/git-core/git-svn line 576 

ठीक है, कोई श्री एसवीएन नहीं, इसकी नहीं। मैंने आपको नवीनतम के लिए कहा और आपने कहा कि मेरे पास पहले से ही था। यह अलग है क्योंकि मैंने इसे बदल दिया है।

यहां क्या हो रहा है, मैं क्यों नहीं कर सकता?

+1

आप dcommit के लिए मास्टर करने के लिए वापस स्विच करने की आवश्यकता नहीं है। यदि आप विकास शाखा के दौरान 'गीट svn जानकारी' टाइप करते हैं तो आप देखेंगे कि यह svn ट्रंक से भी जुड़ा हुआ है। तो, मास्टर पर वापस स्विच करने के बजाए सीधे उस शाखा से सीधे डॉकिट करें। –

+0

मुझे कभी-कभी लगता है कि गिट svn rebase finnicky हो सकता है, इसलिए मैं svn लाइन को अलग रखूंगा और गिट में कोई विलय/पैचिंग करूंगा। यही कारण है कि 2 शाखाएं। – jhogendorn

उत्तर

5

मुझे लगता है कि आप git rebase का दुरुपयोग कर रहे हैं। ऐसा करें:

मैं मास्टर में काम करना चाहते हैं न: थोड़ी देर के लिए

git checkout -b development 

हैक।

git checkout master 
git svn rebase 
git checkout development 
git rebase master 
git svn dcommit 

या, के लिए

git checkout development 
git rebase master 

आशुलिपि

git rebase master development 
+1

ओह प्रिय, आप जानते हैं कि आप नींद पर कम चल रहे हैं जब आप उस तरह के बुनियादी वाक्यविन्यास को भरते हैं। बहुत बहुत धन्यवाद। – jhogendorn

+0

या बस: 'गीट svn rebase; गिट svn dcommit; 'विकास शाखा से, यह पहले से ही svn ट्रंक ट्रैकिंग कर रहा है। –

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

  • कोई संबंधित समस्या नहीं^_^