मैं स्थानीय गिट शाखा का नाम कैसे बदलूं?


8568

मैं एक दूरस्थ शाखा का नाम नहीं बदलना चाहता, जैसा कि स्थानीय और दूरदराज के गिट रिपॉजिटरी दोनों के लिए Rename मास्टर शाखा में वर्णित है

मैं एक स्थानीय शाखा का नाम कैसे बदल सकता हूं जिसे दूरस्थ शाखा में नहीं धकेला गया है?

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

जवाबों:


13726

यदि आप किसी शाखा को इंगित करना चाहते हैं, तो किसी शाखा का नाम बदलना चाहते हैं:

git branch -m <oldname> <newname>

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

git branch -m <newname>

इसे याद रखने का एक तरीका -m"चाल" (या mv) के लिए है, जो है कि आप फ़ाइलों का नाम कैसे बदलें। एक उपनाम जोड़ने से भी मदद मिल सकती है। ऐसा करने के लिए, निम्नलिखित चलाएं:

git config --global alias.rename 'branch -m'

यदि आप Windows या किसी अन्य केस-असंवेदनशील फाइल सिस्टम पर हैं, और नाम में केवल कैपिटलाइज़ेशन परिवर्तन हैं, तो आपको उपयोग करने की आवश्यकता है -M, अन्यथा, git शाखा को पहले से मौजूद त्रुटि को फेंक देगा :

git branch -M <newname>

87
क्या मैं वास्तव में जानना चाहता था कि क्या यह आवश्यक रूप से दूरस्थ शाखा को प्रभावित करेगा जब / यदि आप धक्का देते हैं
PandaWood

181
@ पांडा: यह आपके द्वारा पुश करने पर नई शाखा को जोड़ेगा, लेकिन पुरानी शाखा को नहीं हटाएगा। यदि आप उपयोग करते हैं git push -f --mirror, तो यह रिमोट पर शाखा का नाम बदल देगा, लेकिन आपको केवल इस पद्धति का उपयोग करना चाहिए, यदि रिमोट केवल आपके वर्तमान भंडार की एक प्रति हो। इस प्रश्न को भी देखें: stackoverflow.com/questions/1526794/git-rename-remote-branch
6

19
@ पांडा, यह इस बात पर निर्भर करता है कि कैसे push.defaultकॉन्फ़िगर किया गया है। डिफ़ॉल्ट रूप से ( matching) यह एक रिमोट को धक्का देगा जिसका नाम मेल खाता है। आपको करना होगा git push origin <newname>:<oldname>या आप एक नई दूरस्थ शाखा बनाएंगे। हालांकि, अगर push.defaultसेट किया गया है upstream, तो आप कर सकते हैं push origin headऔर चीजें रिमोट पर पुराने नाम पर जाएगी।
एरिन स्टैनफिल

13
@ NightOwl888: -m शायद "चाल" के लिए छोटा है, mvफ़ाइलों का नाम बदलने के लिए यूनिक्स सम्मेलन के बाद । इसका कारण यह है कि निर्देशिका-आधारित इनकोड फ़ाइल सिस्टम में स्थानांतरण और नाम बदलना पूरी तरह से समतुल्य है।
सिराइड

51
-mविकल्प का लंबा नाम है --move, उदाहरण के लिए, git branch --move masterवर्तमान शाखा का नाम बदलकर "मास्टर" कहा जाता है।
रोबेनकेलेने

445
git branch -m old_branch_name new_branch_name

उपरोक्त आदेश आपकी शाखा का नाम बदल देगा, लेकिन आपको नामांकित शाखा का उपयोग करके बहुत सावधान रहना होगा, क्योंकि यह अभी भी इसके साथ जुड़े पुरानी अपस्ट्रीम शाखा को संदर्भित करेगा, यदि कोई हो।

यदि आप अपनी स्थानीय शाखा के नए_ब्रांच_नाम (उदाहरण के नाम) में नाम बदलने के बाद मास्टर में कुछ बदलाव करना चाहते हैं:

git push origin new_branch_name:master (अब परिवर्तन मास्टर शाखा में जाएंगे लेकिन आपका स्थानीय शाखा नाम new_branch_name है)

अधिक जानकारी के लिए, " गिट में अपने स्थानीय शाखा का नाम कैसे बदलें " देखें ।


326

अपनी वर्तमान शाखा का नाम बदलने के लिए:

git branch -m <newname>

159
आपको नाम बदलने के लिए -M का उपयोग करने की आवश्यकता होगी यदि आप केवल पूंजीकरण बदल रहे हैं, क्योंकि गिट आपको बताएगा कि शाखा पहले से मौजूद है।
cjspurgeon 21

288

यहां शाखा का नाम बदलने के चरण दिए गए हैं:

  1. उस शाखा पर स्विच करें जिसे नाम बदलने की आवश्यकता है
  2. git branch -m <new_name>
  3. git push origin :<old_name>
  4. git push origin <new_name>:refs/heads/<new_name>

EDIT (12/01/2017): सुनिश्चित करें कि आप कमांड चलाते हैं git statusऔर जांचते हैं कि नई बनाई गई शाखा अपने स्वयं के रेफरी को इंगित कर रही है न कि पुराने को। यदि आपको पुरानी शाखा का संदर्भ मिलता है, तो आपको अपस्ट्रीम का उपयोग करके परेशान करना होगा:

git branch --unset-upstream

1
किस कदम में एक अपस्ट्रीम को परेशान करेगा? चरण 4 से पहले?
साइक्लोनोस्कोप जूल

1
यह यहाँ सबसे अच्छा जवाब है क्योंकि यह पूरी तरह से एक नाम बदलने के लिए पूरी प्रक्रिया का वर्णन करता है
क्रिस हैलक्रो

212

आपकी शाखा समाप्त होने के बाद शाखा का नाम उपयोगी होगा। फिर नया सामान आ रहा है, और आप इसे हटाने के बजाय एक ही शाखा में विकसित करना चाहते हैं और नया बना सकते हैं।

मेरे अनुभव से, गिट में एक स्थानीय और दूरस्थ शाखा का नाम बदलने के लिए आपको निम्नलिखित कदम उठाने चाहिए।

कई राज्यों से उद्धृत - गिट में एक स्थानीय और दूरस्थ शाखा का नाम बदलें

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

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

git branch -m new-name

यदि आप एक अलग शाखा पर हैं:

git branch -m old-name new-name

2. पुराने नाम की दूरस्थ शाखा को हटा दें और नए नाम वाली स्थानीय शाखा को आगे बढ़ाएं

git push origin :old-name new-name

3. नए नाम वाली स्थानीय शाखा के लिए अपस्ट्रीम शाखा को रीसेट करें

git push origin -u new-name

1
इसने मेरे लिए बेहतर काम किया। यहाँ 2 चरणों ने मुझे निम्नलिखित त्रुटियाँ दीं:error: dst ref refs/heads/<old-name> receives from more than one src.; error: failed to push some refs to 'git@uri:foo/bar.git'
Anto

1
कमांड चलाते समय आपको समस्या हुई git push origin :old-name new-name?
trungk18

हाँ ठीक है (माफ करना, मैं "2 कदम", "2 कदम" नहीं - थक गया)
Anto

116

अब तक के उत्तर सही हैं, लेकिन यहां कुछ अतिरिक्त जानकारी दी गई है:

कोई भी सुरक्षित रूप से '-m' (चाल) के साथ एक शाखा का नाम बदल सकता है, लेकिन किसी को '-M' के साथ सावधान रहना होगा, क्योंकि यह नाम बदलने के लिए मजबूर करता है, भले ही पहले से ही एक ही नाम वाली मौजूदा शाखा हो। यहाँ 'git-branch' मैन पेज का अंश दिया गया है:

-M या -M विकल्प के साथ, <oldbranch>का नाम बदला जाएगा <newbranch>। यदि <oldbranch>इसके अनुरूप रिफ्लॉग होता है, तो इसका नाम बदलकर मिलान किया जाता है <newbranch>, और शाखा के नामकरण को याद रखने के लिए एक रिफ्लॉग प्रविष्टि बनाई जाती है। यदि <newbranch>मौजूद है, तो -नाम का उपयोग करने के लिए बाध्य करने के लिए -M का उपयोग किया जाना चाहिए।


2
ओवरराइट लिखित शाखा का क्या होता है?
केविन पासे

यह नए नाम / शाखा द्वारा अधिलेखित है। उदाहरण के लिए यदि आपके पास git में निम्नलिखित शाखाएँ हैं: मास्टर b1 <- वर्तमान शाखा b2 आपके द्वारा 'git शाखा -M b2' करने के बाद आपके पास केवल: मास्टर b2 <- वर्तमान शाखा b1 चला जाएगा और यदि आप चाहें तो इसे पुनर्प्राप्त करना चाहिए आपको इसकी हैश द्वारा जाँच करनी चाहिए। आप इसे 'git reflog' लिखकर देख सकते हैं। चीयर्स।
वंचव

-Mझंडा भी अगर आप सिर्फ शाखा का नाम के मामले को सही कर रहे हैं, बदल रहा है जैसे एक नाम बदलने के लिए मजबूर करने के लिए उपयोगी है myBranchकरने के लिए MyBranch। (साथ -m, गिट रिटर्न fatal: A branch named 'MyBranch' already exists.)
जॉन श्नाइडर

92

1. नाम बदलें

यदि यह आपकी वर्तमान शाखा है, तो बस करें

git branch -m new_name

यदि यह एक और शाखा है जिसका आप नाम बदलना चाहते हैं

git branch -m old_name new_name

2. एक नई दूरस्थ शाखा को ट्रैक करें

- यदि आपकी शाखा को धक्का दिया गया था, तो नाम बदलने के बाद आपको दूरस्थ गिट रिपॉजिटरी से इसे हटाने की आवश्यकता है और अपने नए स्थानीय को एक नई दूरस्थ शाखा को ट्रैक करने के लिए कहें:

git push origin :old_name
git push --set-upstream origin new_name

74

मैंने मूर्खता से एक शाखा का नाम एक हाइफ़न के साथ शुरू किया, और फिर मास्टर की जाँच की। मैं अपनी शाखा को हटाना नहीं चाहता था, मुझे इसमें काम था।

इनमें से किसी ने भी काम नहीं किया:

git checkout -dumb-name

git checkout -- -dumb-name

"एस, 'एस और \एस या तो मदद नहीं की। git branch -mकाम नहीं करता है।

यहां बताया गया है कि आखिरकार मैंने इसे कैसे तय किया। अपनी वर्किंग कॉपी के .git / refs / heads में जाएं, फ़ाइल नाम "-Dumb-name" ढूंढें, शाखा का हैश प्राप्त करें। फिर यह इसे बाहर की जाँच करेगा, एक संत नाम के साथ एक नई शाखा बना देगा, और पुराने को हटा देगा।

git checkout {hash}
git checkout -b brilliant-name
git branch -d -- -dumb-name

8
क्या आप सिर्फ refs / head में फ़ाइल का नाम नहीं बदल सकते हैं?
Android.weasel

डिट्टो। यदि आपको इस जादू को करने के लिए निर्देशिका संरचना में खुदाई करनी है, तो सभी रास्ते पर जाएँ और एक 'mv - -dumb-name प्रतिभाशाली-नाम' एक 'git Branch -av' करें और आपको एक निर्देशिका संरचना दिखाई देगी .git / refs। या होश को देखने के लिए शायद 'grep -R ^ .git / refs'।
डेव एक्स

2
आप शायद इस्तेमाल कर सकते हैंreflog
कोड व्हिस्परर

ईमानदारी से, अगर यह वह मार्ग है जिसे आप लेना चाहते थे, तो मैं (IMO भ्रामक और संभावित रूप से खतरनाक अगर आप नहीं जानते कि आप क्या कर रहे हैं) से बचना चाहिए। पहली जगह में .IT निर्देशिका के माध्यम से jaunt करें, और बस कुछ के साथ ऐसा करें। कुछ "गिट लॉग" पार्सिंग के साथ सामान्य कमांड (शाखाओं को दिखाने के लिए उपयुक्त झंडे का उपयोग करके, और यह पता लगाने के लिए कि आप किस शम्स से नई शाखा की जांच करना चाहते हैं), और फिर इसे करें। फिर, विंची-नामित शाखा को हटा दें। मैं घृणा करता हूं कि इस बात पर जोर दिया जाता है कि आपको कुछ काम करने के लिए इसके सभी आंतरिक कामकाज को समझने की जरूरत है, लेकिन बहुत सराहना करते हैं कि आप उन चीजों को कर सकते हैं।
जॉन वी।

2.10.1+ में एक बुरे नाम के साथ एक शाखा बनाना कठिन है। यदि आप इसे किसी भी तरह से करते हैं, तो आप अपनी शाखाओं के लघु हैश संस्करण (रिमोट के लिए -r जोड़ें) प्राप्त करने के लिए गिट शाखा -v का उपयोग कर सकते हैं। आप जरूरत पड़ने पर पूरी हैश पाने के लिए git Rev-parse <shorthash> का उपयोग कर सकते हैं।
डेक्सटर

67

स्थानीय रूप से शाखा का नाम बदलने के लिए:

git branch -m [old-branch] [new-branch]

अब आपको इन परिवर्तनों को अपने दूरस्थ सर्वर पर भी प्रचारित करना होगा।

हटाई गई पुरानी शाखा के परिवर्तनों को धकेलने के लिए:

git push origin :[old-branch]

नई शाखा के निर्माण के परिवर्तनों को धकेलने के लिए:

git push origin [new-branch]

57

नाम के remoteसाथ-साथ गिटहब पर परिवर्तन को दोहराने के लिए सिर्फ तीन चरण :

चरण 1 git branch -m old_branchname new_branchname

चरण 2 git push origin :old_branchname new_branchname

चरण 3 git push --set-upstream origin new_branchname


2
मुझे एक git push --set-upstream origin new_branchnameव्यसन भी करना था: जिसका उल्लेख @ उत्तर उत्तर में है
इब्राहिमशेंदी

2
चरण 3 की जरूरत नहीं है। चरण 2 के बाद सब कुछ अप-टू-डेट था
देव

@ सभी मामलों में देव नहीं, मुझे हाल ही में बिटकॉइन और कोडेकमाइट का उपयोग करने के बाद से अपडेट करना पड़ा, चरण 3 आवश्यक है
हैरी_पब

40

इस आदेश का उपयोग करके शाखा का नाम बदलें:

git branch -m [old_branch_name] [new_branch_name]

-m: यह शाखा का नाम बदल देता है। यदि पहले से कोई शाखा है, तो आपको एक त्रुटि मिलेगी।

यदि पहले से ही कोई शाखा है और आप उस शाखा का नाम बदलना चाहते हैं, तो उपयोग करें:

 git rename -M [old_branch_name] [new_branch_name]

मदद के बारे में अधिक जानकारी के लिए, टर्मिनल में इस कमांड का उपयोग करें:

git branch --help

या

man git branch

40

उन्नत Git उपयोगकर्ता मैन्युअल रूप से नाम बदलकर उपयोग कर सकते हैं:

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name

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

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

git branch -m new-name

यदि आप एक अलग शाखा पर हैं:

git branch -m old-name new-name
  1. पुराने नाम की दूरस्थ शाखा हटाएं और नए नाम वाली स्थानीय शाखा को आगे बढ़ाएं।

git push origin :old-name new-name

  1. नए नाम वाली स्थानीय शाखा के लिए अपस्ट्रीम शाखा को रीसेट करें। शाखा पर जाएँ और फिर:

git push origin -u new-name

या ऐसा करने के तेज़ तरीके के लिए, आप इन 3 चरणों का उपयोग कर सकते हैं:

# स्थानीय स्तर पर शाखा का नाम बदलें

git branch -m old_branch new_branch  

# पुरानी रिमोट ब्रांच को डिलीट करें

git push origin :old_branch  

# नई शाखा को पुश करें, नए रिमोट को ट्रैक करने के लिए स्थानीय शाखा सेट करें

git push --set-upstream origin new_branch   

संदर्भ: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html


यह मेरे लिए काम करता है
Vazgen Manukyan

26

यहां तीन चरण हैं: एक कमांड जिसे आप अपने टर्मिनल के अंदर कॉल कर सकते हैं और शाखा का नाम बदल सकते हैं।

git branch -m old_branch new_branch         # Rename branch locally
git push origin :old_branch                 # Delete the old branch
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

यदि आपको और अधिक की आवश्यकता है: चरण-दर-चरण, कैसे करें शाखा का नाम बदलें इसके बारे में एक अच्छा लेख है।


25

संभवतः जैसा कि दूसरों द्वारा उल्लेख किया गया है, यह शाखा के नामकरण में एक मिसमैच होगा।

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

$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.

फिर आपको एक मध्यवर्ती कदम उठाना होगा:

$ git branch -m temporary
$ git branch -m casesensitive

और कुछ नहीं।


1
ध्यान दें कि यह स्थिति भी किसी Mac, जो पैदा हो सकता है भी (असाधारण annoyingly) ने अपने फाइल सिस्टम में केस संवेदी।
जॉन वी।

वैकल्पिक रूप से, आप एक ही चरण में इस तरह के "केसिंग फिक्स" नाम बदलने के -Mबजाय उपयोग कर सकते हैं -m
जॉन श्नाइडर

23

विशेष रूप से सवाल का जवाब देने की कोशिश कर रहा है (कम से कम शीर्षक)।

आप स्थानीय शाखा का भी नाम बदल सकते हैं , लेकिन रिमोट पर पुराने नाम को ट्रैक कर सकते हैं ।

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

अब, जब आप चलाते हैं git push, तो दूरस्थ old_branchरेफरी आपके स्थानीय के साथ अद्यतन किया जाता है new_branch

आपको इस कॉन्फ़िगरेशन को जानना और याद रखना होगा। लेकिन यह उपयोगी हो सकता है यदि आपके पास दूरस्थ शाखा के नाम के लिए विकल्प नहीं है, लेकिन आप इसे पसंद नहीं करते हैं (ओह, मेरा मतलब है, आपको इसे पसंद नहीं करने का एक बहुत अच्छा कारण मिला है !) और एक स्पष्टता पसंद है। आपकी स्थानीय शाखा का नाम।

लाने के साथ विन्यास, आप भी स्थानीय दूरस्थ संदर्भ का नाम बदल सकते हैं। यानी, refs/remote/origin/new_branchशाखा के लिए एक रेफरी पॉइंटर होने पर , जो वास्तव में old_branchचालू है origin। हालाँकि, मैं आपके दिमाग की सुरक्षा के लिए इसे बहुत हतोत्साहित करता हूँ।


22

स्थानीय रूप से शाखा बदलना काफी आसान है ...

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

git branch -m my_new_branch

अन्यथा, यदि आप नाम को बदलना चाहते हैं, तो इसके अलावा masterया किसी अन्य शाखा पर हैं , बस करें:

git branch -m my_old_branch my_new_branch

इसके अलावा, मैं एक कमांड लाइन पर कार्रवाई में यह दिखाने के लिए नीचे की छवि बनाता हूं । इस मामले में, आप masterशाखा पर हैं , उदाहरण के लिए:

स्थानीय रूप से शाखा का नाम बदलें


21

यदि आप SourceTree (जिसे मैं दृढ़ता से सलाह देता हूं) का उपयोग करने के इच्छुक हैं , तो आप अपनी शाखा पर राइट क्लिक कर सकते हैं और 'नाम बदलें' का चयन कर सकते हैं।

यहां छवि विवरण दर्ज करें


20

वर्तमान शाखा का नाम बदलने के लिए (अलग राज्य के अलावा) आप इस उपनाम का उपयोग कर सकते हैं:

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'

18

एक अन्य विकल्प कमांड लाइन का उपयोग बिल्कुल नहीं करना है। जीटीआई जीयूआई क्लाइंट जैसे कि सोर्सट्री ने सिंटैक्टिकल लर्निंग कर्व / दर्द को बहुत दूर ले जाता है, जो इस तरह के सवालों का कारण बनता है जो स्टैक ओवरफ्लो पर सबसे अधिक देखा जाता है।

SourceTree में, बाईं ओर "शाखाओं" फलक में किसी भी स्थानीय शाखा पर राइट क्लिक करें और "Rename ..." चुनें।


5
मैं इसे दर्द नहीं कहूंगा। Git कमांड का उपयोग करना बहुत आसान है, एक बार जब आप इस उत्तर को देख लेंगे, तो आप शायद फिर कभी वापस नहीं आएंगे। समस्या अधिक है, इसलिए ऐसा लगता है, git कमांड-लाइन का प्रलेखन पर्याप्त सहज नहीं है।
निहारो

1
सच है, लेकिन SourceTree के साथ मुझे शायद ही कभी दस्तावेज़ों की जाँच के बारे में चिंता करने की ज़रूरत है। सब कुछ आम तौर पर सहज है - बस राइट क्लिक करें और देखें कि विकल्प क्या हैं। (BTW मैं उनके साथ किसी भी तरह से संबद्ध नहीं हूं - उपकरण की तरह!)
स्टीव चेम्बर्स

17

इसे करने का एक सरल तरीका:

git branch -m old_branch new_branch         # Rename branch locally
git push origin :old_branch                 # Delete the old branch
git push --set-upstream origin new_branch   # Push the new branch, set local branch to track the new remote

अधिक के लिए, यह देखें ।


15

चूंकि आप शाखा को दूरस्थ सर्वर पर नहीं धकेलना चाहते हैं, इसलिए यह उदाहरण उपयोगी होगा:

मान लीजिए कि आपके पास "my-hot-feature" नामक एक मौजूदा शाखा है, और आप इसका नाम बदलकर "फीचर -15" करना चाहते हैं।

सबसे पहले, आप अपनी स्थानीय शाखा बदलना चाहते हैं। यह आसान नहीं हो सकता है:

git branch -m my-hot-feature feature-15

अधिक जानकारी के लिए, आप स्थानीय और दूरस्थ रूप से नाम बदलकर Git में एक शाखा देख सकते हैं ।


13

Git संस्करण 2.9.2

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

git branch -m new_name

यदि आप एक अलग शाखा का नाम बदलना चाहते हैं:

git branch -m old_name new_name

यदि आप एक अलग शाखा का नाम बदलकर एक नाम रखना चाहते हैं जो पहले से मौजूद है:

git branch -M old_name new_name_that_already_exists

नोट: अंतिम आदेश विनाशकारी है और आपकी शाखा का नाम बदल देगा, लेकिन आप उस नाम के साथ पुरानी शाखा खो देंगे और उन लोगों को कमिट करता है क्योंकि शाखा नाम अद्वितीय होना चाहिए।


11

यदि आप वर्तमान शाखा का नाम बदलना चाहते हैं, तो दौड़ें:

git branch -m [old_branch] [new_branch]

यदि आप पुरानी दूरस्थ शाखा को हटाना चाहते हैं, तो दौड़ें:

git push origin :[old_branch]

यदि आप पुरानी दूरस्थ शाखा को हटाना चाहते हैं और एक नई दूरस्थ शाखा बनाना चाहते हैं, तो दौड़ें:

git push origin :old_branch new_branch

6

Git शाखा का नाम बदलकर किया जा सकता है:

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

एम और एम के बीच का अंतर :

-m: यदि आप किसी मौजूदा शाखा नाम के साथ अपनी शाखा का नाम बदलने की कोशिश कर रहे हैं -m । यह यह कहते हुए एक त्रुटि उत्पन्न करेगा कि शाखा पहले से मौजूद है। आपको विशिष्ट नाम देने की आवश्यकता है।

परंतु,

-एम: यह आपको किसी दिए गए नाम के साथ नाम बदलने के लिए मजबूर करने में मदद करेगा, यहां तक ​​कि यह मौजूद है। तो एक मौजूदा शाखा पूरी तरह से इसके साथ ओवरराइट कर देगी ...

यहाँ एक Git टर्मिनल उदाहरण है,

mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
  test
* test1
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
mohideen@dev:~/project/myapp/sunithamakeup$ git branch -M test1 test
mohideen@dev:~/project/myapp/sunithamakeup$ git branch
  master
  master0
  new_master
* test
mohideen@dev:~/project/myapp/sunithamakeup$

5

जीयूआई जीयूआई उपयोगकर्ताओं के लिए यह बहुत सरल नहीं हो सकता है। Git GUI में, मेनू आइटम शाखा से बनाए गए "Rename Branch" डायलॉग बॉक्स में ड्रॉप डाउन सूची से शाखा का नाम चुनें: Rename, एक नया नाम टाइप करें, और "Rename" पर क्लिक करें। मैंने इस बात पर प्रकाश डाला है कि ड्रॉप डाउन सूची को कहां खोजना है।

एक स्थानीय गिट शाखा का नाम बदलें


3

यदि आप चाहते हैं:

  • Git रिपॉजिटरी का नाम बदलें, चलाएँ: git branch -m <oldname> <newname>
  • पुरानी शाखा को हटाएं: git push origin: old-name new-name
  • इसका उपयोग करके कमिट करें: git commit <newname>
    • और फिर उपयोग करके धक्का दें: git push origin new_branch_name:master
  • यदि आप स्थिति की जांच करना चाहते हैं तो उपयोग करें: git status
  • यदि आप जांच करना चाहते हैं तो उपयोग करें: git checkout

3

पिछले सभी उत्तरों के बारे में बात कर रहे हैं git branch -m। बेशक, इसे संचालित करना आसान है, लेकिन मेरे लिए, एक और Git कमांड को याद रखना थोड़ा कठिन हो सकता है। इसलिए मैंने उस आदेश को पूरा करने की कोशिश की जिससे मैं परिचित था। हाँ, आप यह अनुमान लगा सकते हैं।

मैं उपयोग करता हूं git branch -b <new_branch_name>। और अगर आप पुरानी शाखा को नहीं बचाना चाहते हैं तो आप git branch -D <old_branch_name>इसे हटाने के लिए निष्पादित कर सकते हैं ।

मुझे पता है कि यह थोड़ा थकाऊ हो सकता है, लेकिन इसे समझना और याद रखना आसान है। मुझे आशा है कि यह आपके लिए उपयोगी है।


यदि आपको कमांड्स को याद रखने में परेशानी हो रही है, तो आप अपने लिए शेल या गिट अलायस सेट कर सकते हैं।
शॉन

क्या होगा अगर मुझे इतने सारे विभिन्न मशीनों पर कमांड चलाने की आवश्यकता है?
दाई काइशियन

1

PhpStorm में:

VCS → Git → शाखाएँ ... → स्थानीय शाखाएँ → _your_branch_ → नाम बदलें


0

आपको केवल तीन चरण करने हैं:

  1. पुरानी शाखा को .it / refs / हेड्स को नया नाम दें
  2. पुरानी शाखा को .it / लॉग / रेफरी / हेड्स को नया नाम दें
  3. अपने नए शाखा नाम का नेतृत्व करने के लिए .it / HEAD को अपडेट करें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.