मैं एक Git स्थानीय और दूरस्थ शाखा नाम दोनों का नाम कैसे बदलूं?




repository rename (5)

इसे निम्न तरीके से भी किया जा सकता है।

पहले स्थानीय शाखा का नाम बदलें, फिर दूरस्थ शाखा।

स्थानीय शाखा का नाम बदलना:

यदि किसी अन्य शाखा में लॉग इन किया है,

git branch -m old_branch new_branch 

यदि एक ही शाखा में लॉग इन किया है,

git branch -m new_branch

दूरस्थ शाखा का नामकरण:

git push origin :old_branch    // Delete the remote branch

git push --set-upstream origin new_branch   // Create a new remote branch

मेरे पास मास्टर की तरह चार शाखाएँ हैं -> मूल / प्रतिगमन, फ़ीचर -> मूल / फ़ीचर। जैसा कि आप देख सकते हैं, मैंने गलत नाम टाइप किया है।

इसलिए मैं एक दूरस्थ शाखा का नाम बदलना चाहता हूं (मूल / प्रतिगमन → मूल / विरासत या मूल / मास्टर)

मैं नीचे दिए गए आदेश की कोशिश करता हूं:

git remote rename regacy legacy

लेकिन Git कंसोल ने मुझे एक त्रुटि संदेश दिया।

 error : Could not rename config section 'remote.regacy' to 'remote.legacy'

इस समस्या का समाधान किस प्रकार से किया जा सकता है?


ऐसा लगता है कि एक सीधा रास्ता है:

यदि आप वास्तव में बस शाखाओं को फिर से नाम बदलना चाहते हैं (एक ही समय में किसी भी स्थानीय शाखाओं का नाम लिए बिना) तो आप इसे एक ही वाक्य के साथ कर सकते हैं जैसे

git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>

Git में दूर से शाखाओं का नाम बदलना

अधिक विस्तार के लिए मूल उत्तर देखें।


मैं इन git उपनामों का उपयोग करता हूं और यह काम को स्वचालित रूप से करता है:

git config --global alias.move '!git checkout master; git branch -m $1 $2; git status; git push --delete origin $1; git status; git push -u origin $2; git branch -a; exit;'

उपयोग: git चाल FROM_BRANCH TO_BRANCH

यह काम करता है यदि आपके पास मास्टर, मूल आदि जैसे डिफ़ॉल्ट नाम हैं तो आप अपनी इच्छानुसार संशोधित कर सकते हैं लेकिन यह आपको विचार देता है।


यदि आपने किसी शाखा को गलत नाम दिया है और इसे दूरस्थ रिपॉजिटरी में धकेल दिया है तो उस शाखा का नाम बदलने के लिए इन चरणों का पालन करें ( इस लेख के आधार पर ):

  1. अपनी स्थानीय शाखा का नाम बदलें:

    • यदि आप उस शाखा पर हैं जिसका आप नाम बदलना चाहते हैं:
      git branch -m new-name

    • यदि आप एक अलग शाखा पर हैं:
      git branch -m old-name new-name

  2. old-name दूरस्थ शाखा हटाएं और new-name स्थानीय शाखा को आगे बढ़ाएं :
    git push origin :old-name new-name

  3. नए नाम वाली स्थानीय शाखा के लिए अपस्ट्रीम शाखा को रीसेट करें :
    शाखा पर जाएँ और फिर:
    git push origin -u new-name


आप सीधे किसी दूरस्थ शाखा का नाम नहीं बदल सकते। आपको इसे हटाना होगा और फिर इसे फिर से पुश करना होगा।

शाखा का नाम बदलना

# Rename the local branch to the new name
git branch -m <old_name> <new_name>

# Delete the old branch on remote - where <remote> is, for example, origin
git push <remote> --delete old_name

# Push the new branch to remote
git push <remote> new_name

# Reset the upstream branch for the new_name local branch
git push <remote> -u new-name

महत्वपूर्ण लेख:

जब आप git branch -m (चाल) का उपयोग करते हैं, तो Git आपकी ट्रैकिंग शाखा को नए नाम के साथ भी अपडेट कर रहा है

git remote rename legacy legacy

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

लेकिन यह वह नहीं करेगा जो आप सोचते हैं; यह आपके स्थानीय कॉन्फ़िगरेशन को दूरस्थ नाम और दूरस्थ शाखा का नाम नहीं देगा

नोट Git सर्वर आपको वेब इंटरफ़ेस या बाहरी प्रोग्राम (जैसे Sourcetree, आदि) का उपयोग करके Git शाखाओं का नाम बदलने की अनुमति दे सकता है, लेकिन आपको यह ध्यान रखना होगा कि Git में सभी कार्य स्थानीय रूप से किए जाते हैं, इसलिए यह उपरोक्त आदेशों का उपयोग करने के लिए अनुशंसित है काम के लिए।






git-branch