Git repo में एक शाखा का नाम बदलें


294

मैं एक गिट रेपो में मौजूदा शाखा का नाम कैसे बदलूं?

मैं चाहता हूं कि वर्तमान शाखा का नया नाम हो।


2
एक उत्तर को स्वीकार करें @ एलेक्स या कहें कि आप इसे स्वीकार क्यों नहीं करना चाहते हैं।
चार्ली पार्कर

1
@CharlieParker यह शायद इस तथ्य के साथ कुछ करना है कि यह एलेक्स का एकमात्र सवाल था, और वह शायद तब से लॉग इन नहीं किया है: "अंतिम बार फ़रवरी 3 '11 को 21:29 पर देखा"
पीला-

13
@ जेबी ओएमजी आप कह रहे हैं कि उसके साथ कुछ हो सकता है ??? !!!!!!!!!
abbood

1
क्या अत्यधिक मतदान वाले उत्तर को स्वीकार किया जा सकता है?
स्टीव चैम्बर्स

जवाबों:


465

यह मानकर कि आप वर्तमान में उस शाखा पर हैं जिसका आप नाम बदलना चाहते हैं:

git branch -m newname

यह मैनुअल के लिए प्रलेखित है git-branch, जिसका उपयोग करके आप देख सकते हैं

man git-branch

या

git help branch

विशेष रूप से, कमांड है

git branch (-m | -M) [<oldbranch>] <newbranch>

जहां पैरामीटर हैं:

   <oldbranch>
       The name of an existing branch to rename.

   <newbranch>
       The new name for an existing branch. The same restrictions as for <branchname> apply.

<oldbranch> वैकल्पिक है, यदि आप वर्तमान शाखा का नाम बदलना चाहते हैं।


10
या git branch -m other-branch renamed-other-branchअगर तुम नहीं हो।
मिपाडी

32
इसके अलावा, यदि आपने पुरानी शाखा को रिमोट से धकेल दिया है, तो आप इसे हटा सकते हैं git push origin :branchname। यह आपको नए को धक्का देने और पुराने को हटाने की अनुमति देगा, अनिवार्य रूप से रिमोट पर इसका नाम बदलकर।
जोनाथन

1
@mipadi, यह नई शाखा बनाता है और पिछले एक को नहीं हटाता है।
मोहम्मद आरिफ़

git Branch (-m | -M) [<oldbranch>] <newbranch> मेरे लिए काम नहीं किया, वाक्यविन्यास त्रुटि दे रहा है।
मोहम्मद आरिफ

@MohammedArif के साथ -m, यह पुरानी शाखा का नाम बदल देता है, इसलिए यह पिछले एक को हटा देता है।
रिचर्ड फर्न

176

यदि आप वर्तमान में उस शाखा पर हैं जिसका आप नाम बदलना चाहते हैं:

git branch -m new_name 

वरना:

git branch -m old_name new_name 

आप इसके साथ देख सकते हैं:

git branch -a

जैसा कि आप देख सकते हैं, केवल स्थानीय नाम अब बदल गया है, नाम बदलने के लिए भी आपको दूरस्थ रूप से करना होगा:

git push origin :old_name

यह शाखा निकालता है, फिर इसे नए नाम के साथ अपलोड करें:

git push origin new_name

स्रोत: https://web.archive.org/web/20150929104013/http://blog.changecong.com:80/2012/10/rename-a-remote-branch-on-github


13
मुझे लगता है कि यह सही उत्तर है, रिचर्ड फ़ेम का अत्यधिक वोट वाला उत्तर केवल स्थानीय रेपो को कवर करता है, यह रिमोट को कवर करता है।
user1145404

4
ऊपर की टिप्पणी से सहमत, यह जवाब मेरे मामले में अधिक पूर्ण था। इसके अलावा, जब मैंने इस उत्तर में बताए गए सभी चरणों को करने के बाद दूरस्थ शाखा में अतिरिक्त आवागमन को धक्का दिया, तो गिट ने old_nameशाखा को फिर से धक्का देने की कोशिश की । सौभाग्य से, git ने कमांड लाइन में एक फिक्स की आपूर्ति की git-branch --unset-upstream:। इसके बाद, सभी धकेलने वाले हिट new_nameदूरस्थ शाखा में चले गए ।
हंस रोअरडिंकहोल्डर

2
खबरदार है कि इस तरह से आप के साथ धक्का देने के लिए संकाय खो दिया git pushक्योंकि आप एक चेतावनी whi कहते हैं, Your branch is based on 'old_name, but the upstream is gone.git push -u origin new_nameइसे हल।
netalex
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.