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




git-branch (25)

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

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

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

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


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

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

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

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

git push origin :[old-branch]

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

git push origin [new-branch]

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

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

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


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

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

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 । हालांकि, मैं आपके दिमाग की सुरक्षा के लिए इसे बहुत हतोत्साहित करता हूं।


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

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 checkout -dumb-name

git checkout -- -dumb-name

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

यहां बताया गया है कि मैंने अंत में इसे कैसे ठीक किया। अपनी कामकाजी प्रतिलिपि में जाएं। Git / refs / head, फ़ाइल नाम "-डंब-नाम" ढूंढें, शाखा के हैश प्राप्त करें। फिर यह इसे देखेगा, एक सायन नाम के साथ एक नई शाखा बनायेगा, और पुराने को हटा देगा।

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

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

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

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

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

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

शाखा का नाम बदलें:

git branch -m old_branchname new_branchname

यहां -एम विकल्प का लंबा नाम है - मॉव। तो हम भी उपयोग कर सकते हैं

git branch --move old_branchname new_branchname

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

git branch -m new_branchname

या

git branch -move new_branchname

यदि आप इन परिवर्तनों को दूरस्थ में ले जाना चाहते हैं, तो निम्न का उपयोग करें।

git push origin :old_branchname new_branchname

यह old_branchname दूरस्थ शाखा को हटा देगा और new_branchname स्थानीय शाखा को धक्का देगा।

git push origin -u new_branchname

यह new_branchname स्थानीय शाखा के लिए अपस्ट्रीम शाखा को रीसेट करेगा।


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

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

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

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

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

और कुछ नहीं।


git branch -m old_branch_name  new_branch_name

या

git branch --move old_branch_name new_branch_name

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

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

  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


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

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

git branch -m <newname>

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


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


PHPStorm:

वीसीएस-> गिट-> शाखाएं ...-> स्थानीय शाखाएं- > _your_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 my_new_branch

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

git branch -m my_old_branch my_new_branch

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


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

  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
mohi[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$ 

git branch -m old_branch_name new_branch_name

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

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

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

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


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

git branch -m <newname>

मुझे इस जवाब के लिए गुगल करने में बीमार हो गया, इसलिए मैंने पहले जवाब देने वाले उत्तर के लिए एक समान दृष्टिकोण लिया।

मेरे बैश प्रोफाइल में निम्नलिखित जोड़ा गया:

function gitdelete(){
    git push origin --delete $1
    git branch -D $1
}

फिर हर बार जब मैं एक शाखा के साथ किया जाता है (उदाहरण के लिए, master में विलय) मैं अपने टर्मिनल में निम्नलिखित चलाता हूं:

gitdelete my-branch-name

... जो तब origin रूप से स्थानीय रूप से my-branch-name को हटा देता है।





git git-branch