2012-01-08 14 views
5

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

मैं अपने असाइनमेंट पर मेरे गिट रिपॉजिटरी के साथ काम कर रहा हूं। मैं किसी भी इतिहास को खोए बिना अपने काम को एसवीएन भंडार में धक्का देना चाहता हूं। मैं यह कैसे कर सकता हूँ?

+0

क्या आप इतिहास को थोड़ा और समझा सकते हैं? क्या आपने एसवीएन से क्लोन करने के लिए 'गीट एसवीएन क्लोन' का इस्तेमाल किया है? – fge

+0

अभी तक नहीं। मुझे यकीन नहीं है कि क्या इस समस्या से निपटने का यह सही तरीका है। अब तक मैंने इसे ठीक करने के लिए कुछ भी नहीं किया है। मुझे लगता है कि सभी गाइड मुझे लगता है कि मेरे पास एक नंगे/नया एसवीएन रेपो है। –

+0

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

उत्तर

6

मैं एक मिश्रण करना होगा

यहाँ एक विस्तृत विवरण नहीं है। यही है, पहले git svn के साथ svn क्लोन करें। फिर इस नए भंडार में, आप अपने वर्तमान गिट भंडार से merge अपना काम करते हैं।

$ git svn clone http://svn.example.com/project/trunk 
$ cd trunk 
$ git checkout -b mywork 
$ git pull /path/to/current/work/repository/.git master 

अब आप तोड़फोड़ से clone में mywork शाखा में अपना काम किया है। मर्ज करने और धक्का देने का समय।

$ git checkout master 
$ git merge mywork 
$ git svn dcommit 

आनंद लें!

+1

यह पूरी तरह से काम करता है! –

+1

मैंने कोशिश की लेकिन मेरे सभी गिट इतिहास को एक svn प्रतिबद्ध के रूप में धक्का दिया गया, जिसके परिणामस्वरूप इतिहास लॉग – palaniraja

0

आप पूर्व-आवश्यकता के अनुसार यह सुनिश्चित कर सकते हैं कि गिट में आपके सभी परिवर्तन लागू किए गए हैं या master शाखा में विलय कर दिए गए हैं।

फिर आप परिवर्तन करने के लिए svn और अंत में git-svn dcommit से किसी भी अपडेट को मर्ज करने के लिए git-svn rebase चला सकते हैं। सीएफ - - http://www.viget.com/extend/effectively-using-git-with-subversion/