का कारण बनता है मुझे गिट-एसवीएन डॉकिट्स के साथ समस्या हो रही है जिससे गिट रिपोजिटरी खोने का ट्रैक कम हो जाता है।गिट-एसवीएन डॉकिटिट शाखा विभाजन
मैं यह सुनिश्चित करने का प्रयास करता हूं कि गिट में मास्टर शाखा हमेशा एसवीएन भंडार में ट्रंक का पालन करती है। तो जब भी मैं काम कर रहा हूं, मैं एक विषय शाखा में हूं।
थोड़ी देर के लिए एक विषय शाखा में कार्य करना
git checkout -b my-topic
git commit -m "blah blah blah"
तो मैं तय मैं
git checkout master
git svn rebase #get any changes in svn
git rebase master my-topic
git merge my-topic --ff-only
यहां तक महारत हासिल करने के पीठ में अपनी शाखा विलय करना चाहते हैं, सब कुछ: यहाँ मेरी परिदृश्य है अच्छा चला गया है मैं अब दोनों मास्टर और मेरे विषय से हटकर गति को और प्रतिबद्ध एक ही तरफ इशारा किया है, और पूरे इतिहास में इस तरह दिखता है:
A -- B -- C - master + my-topic
हालांकि, जब मैं
git svn dcommit
मैं अंत करना एक पेड़ है कि इस तरह दिखता है (ख और ग करता मैं मूल रूप से विषय के लिए किए गए हैं):
-- B -- C - my-topic
/
A -- B -- C - master + remotes/trunk
यह dcommit प्रक्रिया के दौरान की तरह लगता है, Git SVN अप करने के लिए प्रतिबद्ध धक्का, फिर उन्हें वापस की चोटी पर रिप्ले मास्टर। मुझे लगता है कि समस्या यह है कि वे अलग-अलग कम्यूटर जानकारी प्राप्त करते हैं। मैं कछुआ प्लिंक और एक एसएसएच कुंजी के साथ svn में लॉग इन कर रहा हूँ।
Git भंडार मेंकरता है कि SVN करने के लिए धक्का दिया नहीं किया गया है committer जानकारी है के रूप में:
Collin Hockey <[email protected]>
करता है कि SVN भंडार पर पुश किए गए हालांकि इस राशि:
chockey <[email protected]>
वहाँ है किसी भी तरह से मैं इन शाखाओं को विभाजित करने से रोक सकता हूं? मैं इसे
git rebase master my-topic
फिर से ठीक कर सकता है, लेकिन मुझे लगता है कि यह अनावश्यक होना चाहिए। इसके साथ मुख्य समस्या यह है कि एक शाखा के परिवर्तन एसवीएन को धकेलने के बाद, अब गिट अब सोचता है कि शाखा कहीं भी विलय कर दी गई है। इससे पुरानी शाखाओं को हटाने में भ्रमित हो जाता है जिनकी आपको अब आवश्यकता नहीं है।
ऐसा लगता है कि यह थोड़ा बेहतर काम करता है, लेकिन काम अभी भी अलग हैं (उनके पास अलग-अलग समय भी हैं)। क्या वास्तव में उन्हें नए काम करने से रोकने के लिए एक तरीका है (या केवल स्वचालित रूप से दोनों शाखाओं पर काम करता है), या क्या यह केवल गिट-एसवीएन पुल का उपयोग करने के ब्रेक हैं? – Collin
@ कोलिन यह गिट-एसवीएन काम करता है: एसवीएन काम करता है, और गिट ईमानदारी से उन्हें प्रतिबिंबित करता है। उस व्यवहार को बदलने का कोई तरीका नहीं है (बेशक अपना खुद का गिट-एसवीएन सिंक टूल लिखकर)। –
जानकारी के लिए धन्यवाद। मैं डॉकिटिटिंग के बाद बस अपनी शाखा को रिबैस करने के लिए चिपक जाऊंगा। लेखकों की फाइल सामग्री मेरे इतिहास को बहुत सुंदर बनाती है :) – Collin