हम यहां अर्ध-केंद्रीकृत गिट भंडार के साथ काम कर रहे हैं जहां मैं काम करता हूं। प्रत्येक डेवलपर केंद्रीय Git भंडार में अपने स्वयं के सबट्री है, इसलिए यह इस तरह दिखता है:क्या मैं स्थानीय शाखाओं को रिमोट शाखाओं में गिट में विभिन्न उपसर्गों के साथ मैप कर सकता हूं?
master alice/branch1 alice/branch2 bob/branch1 michael/feature release/1.0 release/1.1
मेरी पेड़ में स्थानीय रूप से कार्य करना मैं topic/feature
है, जो केंद्रीय पेड़ में michael/feature
से मेल खाती है।
मैं दूरदराज के पेड़ को अपने परिवर्तनों को पुश करने के लिए
git push origin topic/feature:michael/feature
उपयोग कर रहे हैं। हालांकि, यह बोझिल और गलतियों के लिए प्रवण है (उदाहरण के लिए डेवलपर नाम छोड़ना, फीचर नाम की गलत वर्तनी आदि)।
मैं ऐसा करने के लिए एक क्लीनर तरीका ढूंढ रहा हूं। उदाहरण के लिए, "git push
"। मुझे संदेह है कि एक संशोधित fetch refspec के साथ एक अलग रिमोट सेट करना यह करेगा, लेकिन मुझे यकीन नहीं है कि यह वास्तव में कैसे करें। मुझे यह भी सुनिश्चित नहीं है कि विभिन्न रिमोट का उपयोग करने के लिए मेरी वर्तमान शाखा परिभाषाओं को कैसे संशोधित किया जाए।
[remote "origin"] url = git://central/git/project fetch = +refs/heads/*:refs/remotes/origin/* [branch "topic/feature"] remote = origin merge = refs/heads/michael/project
संपादित करें:: मैं भी इस लागू करने के लिए खींचती है करने के लिए/चाहूँगा को हासिल करेगा
मेरे वर्तमान .git/config
तरह दिखता है। लेकिन क्या branch.<name>.merge
इसका ख्याल रखता है?
मैं इसे खोजना जारी रखूंगा और अगर मुझे कुछ मिल जाए तो यहां पोस्ट करें, लेकिन मैं कुछ अन्य अच्छे विचारों की उम्मीद कर रहा हूं।
संपादित करें 2: मैंने फैसला किया है कि मैं स्थानीय और दूरस्थ शाखा नामों को वही रखूंगा। ऐसा लगता है कि यह कम से कम काम होगा और भविष्य की समस्याओं के लिए कम से कम प्रवण होगा।
जब आप .git/config को संशोधित करते हैं, तो पहले इसे वापस न भूलें। यदि आप कुछ खराब कर देते हैं, तो आपको संबंधित स्थिति में वापस आने के लिए फ़ाइल के ज्ञात अच्छे संस्करण को पुनर्स्थापित करने की आवश्यकता है। – webmat
यह वास्तव में बहुत कुछ आता है जब हेरोोकू, नोडेस्टर और ऐपफोग जैसी सेवाओं की मेजबानी करने के लिए गिट परिनियोजन करना। – studgeek