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




git-branch (20)

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

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


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

  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


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

git branch -m <newname>

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

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

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

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

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

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


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

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

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

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


ऐसा करने का सरल तरीका:

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

अधिक के लिए, इसे देखें।


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

  1. git branch -m oldBranch newBranch

  2. git branch -M oldBranch ExistingBranch

-एम और -एम के बीच अंतर,

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

परंतु,

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

यहां गिट टर्मिनल उदाहरण है,

[email protected]:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
  test
* test1
[email protected]:~/project/myapp/sunithamakeup$ git branch -m test1 test
fatal: A branch named 'test' already exists.
[email protected]:~/project/myapp/sunithamakeup$ git branch -M test1 test
[email protected]:~/project/myapp/sunithamakeup$ git branch 
  master
  master0
  new_master
* test
[email protected]:~/project/myapp/sunithamakeup$ 

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

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

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

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

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


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


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

git branch -m <oldname> <newname>

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

git branch -m <newname>

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


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

git branch -m [old_branch] [new_branch]

यदि आप पुरानी रिमोट शाखा को हटाना चाहते हैं, तो चलाएं:

git push origin :[old_branch]

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

git push origin :old_branch new_branch

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

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

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


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

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

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

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

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

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


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

1. switch to branch which needs to be renamed
2. git branch -m <new_name>
3. git push origin :<old_name>
4. git push origin <new_name>:refs/heads/<new_name>

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

git branch --unset-upstream

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

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

अब आपको अपने रिमोट सर्वर पर इन परिवर्तनों को प्रचारित करना होगा।

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

git push origin :[old-branch]

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

git push origin [new-branch]

गिट संस्करण 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

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


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

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

git branch -m my_new_branch

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

git branch -m my_old_branch my_new_branch

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


git branch -m old_branch_name  new_branch_name

या

git branch --move old_branch_name new_branch_name






git-branch