मैंने सिर्फ अपनी स्थानीय शाखा का नाम बदला
git branch -m oldname newname
लेकिन यह केवल शाखा के स्थानीय संस्करण का नाम बदल देता है। मैं GitHub पर एक का नाम कैसे बदल सकता हूं?
मैंने सिर्फ अपनी स्थानीय शाखा का नाम बदला
git branch -m oldname newname
लेकिन यह केवल शाखा के स्थानीय संस्करण का नाम बदल देता है। मैं GitHub पर एक का नाम कैसे बदल सकता हूं?
जवाबों:
जैसा कि उल्लेख किया गया है, गितुब और फिर से पुश पर पुराने को हटा दें, हालांकि उपयोग किए जाने वाले कमांड आवश्यक से कुछ अधिक क्रिया हैं:
git push origin :name_of_the_old_branch_on_github
git push origin new_name_of_the_branch_that_is_local
सरल। आदेशों को थोड़ा सा हटाते हुए, जिट पुश कमांड अनिवार्य रूप से है:
git push <remote> <local_branch>:<remote_branch>
इसलिए बिना किसी स्थानीय_ब्रांच के एक धक्का देने का अनिवार्य रूप से अर्थ है "मेरे स्थानीय भंडार से कुछ भी नहीं लेना, और इसे दूरस्थ शाखा बनाना"। मैंने हमेशा सोचा है कि यह पूरी तरह से कठिन है, लेकिन यह जिस तरह से किया गया है।
संपादित करें: Git 1.7 के रूप में दूरस्थ शाखा को हटाने के लिए एक वैकल्पिक वाक्यविन्यास है:
git push origin --delete name_of_the_remote_branch
संपादित करें: जैसा कि टिप्पणियों में @ void.pointer द्वारा उल्लेख किया गया है
ध्यान दें कि आप 2 पुश ऑपरेशन को संयोजित कर सकते हैं:
git push origin :old_branch new_branch
यह दोनों पुरानी शाखा को हटा देगा और नए को धक्का देगा।
इसे एक साधारण उपनाम में बदल दिया जा सकता है, जो तर्क के रूप में दूरस्थ, मूल शाखा और नई शाखा का नाम लेता है ~/.gitconfig
:
[alias]
branchm = "!git branch -m $2 $3 && git push $1 :$2 $3 -u #"
उपयोग:
git branchm origin old_branch new_branch
ध्यान दें कि शेल कमांड में स्थिति संबंधी तर्क पुराने (पूर्व 2.8?) संस्करणों में समस्याग्रस्त थे, इसलिए उपनाम संस्करण के संस्करण के अनुसार भिन्न हो सकते हैं। देखें इस चर्चा जानकारी के लिए।
git push origin :old_branch new_branch
:। यह दोनों पुरानी शाखा को हटा देगा और नए को धक्का देगा।
git branch -m new_branch
( पुराने_ब्रांच का नाम बदलकर new_branch) 2. git commit -m 'msg'
, 3. 3. git push
Mhmm, old_branch Github, Google प्रश्न में दिखाता है और मैं आपके उत्तर के लिए नेतृत्व कर रहा हूं 5. git push origin :old_branch
(कहते हैं कि यह हटा दिया गया है 6.) git push origin new_branch
: पूर्ण ... तब कहते हैं * [new branch] new_branch -> old_branch
। गितुब वापस जाओ और फिर से दिखाओ old_branch
। अगर मैं जीथब वेब यूआई में हटाता हूं, तो मेरे पास "रिस्टोर" करने का विकल्प है, इसलिए ऐसा लगता है कि new_branch को धक्का देना अभी बहाल है।
निम्नलिखित आदेशों ने मेरे लिए काम किया:
git push origin :old-name-of-branch-on-github
git branch -m old-name-of-branch-on-github new-name-for-branch-you-want
git push origin new-name-for-branch-you-want
मुझे 3 कमांड मिली हैं कि आप अपने git ब्रांच का नाम कैसे बदल सकते हैं, और ये कमांड ऐसा करने का तेज़ तरीका है
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 push --set-upstream
यदि आप दूरस्थ शाखा को हटाने से पहले github ऐप का उपयोग करके स्थानीय रूप से शाखा का नाम बदलने के लिए होते हैं, तो यह सबसे महत्वपूर्ण हिस्सा है।
बस पुरानी शाखा को हटा दें और नया बनाएं।
उदाहरण (केवल दूरस्थ शाखा का नाम बदलकर):
git push origin :refs/heads/oldname
git push origin newname:refs/heads/newname
आपको संभवतः स्थानीय शाखा का नाम बदलना चाहिए और सेटिंग्स को बदलना चाहिए जहां धक्का / खींचने के लिए।
git push origin newname:refs/heads/newname
? मास्टर और 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
तो निष्कर्ष है
git branch -m new-name
git push origin :old-name new-name
git push origin -u new-name
git branch -m new-name && git push origin :master new-name
। यह विफल हो जाएगा। यदि यह उत्तर केवल गिट के बारे में है और जीथब के बारे में नहीं है तो यह प्रश्न कई अन्य प्रश्नों का एक डुप्लिकेट है और इसे बंद किया जाना चाहिए। यदि यह वास्तव में जीथूब के बारे में है तो उत्तर को जीथब को कवर करना होगा। यह उत्तर नहीं है।
आप ऐसा कर सकते हैं कि टर्मिनल के बिना, आपको बस नए नाम के साथ एक शाखा बनाने की जरूरत है, और पुराने को हटा दें। ऐसा करने के लिए आप इस पोस्ट का उपयोग कर सकते हैं।
यह आलेख दिखाता है कि इसे वास्तविक रूप से कैसे किया जाए।
1. एक स्थानीय Git शाखा का नाम बदलने के लिए, हम नाम को संशोधित करने के लिए Git शाखा -m कमांड का उपयोग कर सकते हैं:
git branch -m feature1 feature2
2. यदि आप केवल दूरस्थ Git शाखा का नाम बदलने के लिए कमांड की तलाश कर रहे हैं, तो यह है "यह
git push -u origin feature2:feature3
जांचें कि आपके पास कोई नहीं है ऐसा करने से पहले शाखा पर टैग। आप ऐसा कर सकते हैं git tag
।
एक अन्य तरीका निम्नलिखित फाइलों का नाम बदलना है :
.git/refs/head/[branch-name]
दिया.git/refs/head/new-branch-name
.git/refs/remotes/[all-remote-names]/[branch-name]
दिया.git/refs/remotes/[all-remote-names]/new-branch-name
अपने स्थानीय पीसी पर और मूल (ओं) / रिमोट सर्वर ( दोनों) पर नाम बदलें और हटाएं
यदि आपके वर्तमान शाखा-नाम में स्लैश हैं (/
) git निर्देशिकाओं को इस तरह बनाएगा:
वर्तमान शाखा-नाम: "awe/some/branch"
.git/refs/head/awe/some/branch
.git/refs/remotes/[all-remote-names]/awe/some/branch
काश शाखा-नाम: "new-branch-name"
branch
फाइल.git/refs/*/awe/some/
.git/refs/head/
।branch
फ़ाइल को सभी से.git/refs/remotes/*/awe/some/
.git/refs/remotes/*/
।branch
फ़ाइलों का नाम बदलेंnew-branch-name
।.git/refs/head/new-branch-name
.git/refs/remotes/[all-remote-names]/new-branch-name
awe/some/branch
कर दिया गया है new-branch-name
)जानकारी: यह तरीका सबसे अच्छा नहीं हो सकता है, लेकिन यह अभी भी उन लोगों के लिए काम करता है जिन्हें अन्य तरीकों से समस्या हो सकती है
मेरे मामले में, मुझे
अपनी नामांकित शाखा को आगे बढ़ाने के लिए एक अतिरिक्त कमांड की आवश्यकता थी ।
git branch --unset-upstream
origin newname
(टाइपिंग में आसानी के लिए), मैं पहले git checkout oldname
।
फिर निम्नलिखित को चलाएँ:
git branch -m newname
git push origin :oldname
या याgit push origin --delete oldname
git branch --unset-upstream
git push -u origin newname
git push origin newname
यह अतिरिक्त कदम केवल आवश्यक हो सकता है क्योंकि मैं (ब्रांच से) अपनी शाखाओं पर रिमोट ट्रैकिंग सेटअप करता हूं । इस तरह जब मैंने जांच की है, तो मुझे बाद में केवल इसके बजाय टाइप की आवश्यकता हैgit push
-u
origin oldname
oldname
git push
git push origin oldname
अगर मैं पहले कमांड का उपयोग नहीं करता हूं , तो git फिर से बनाता है और पुश करता है - अपने इरादे को हराते हुए।git branch --unset-upstream
git push origin newbranch
oldbranch
newbranch
origin oldbranch
निम्नलिखित आदेश स्थानीय रूप से शाखा का नाम बदल देते हैं, दूरस्थ स्थान पर पुरानी शाखा को हटाते हैं और नई शाखा को धक्का देते हैं, जिससे स्थानीय शाखा नई शाखा को ट्रैक करती है:
git branch -m old_branch new_branch
git push origin :old_branch
git push --set-upstream origin new_branch
उस के रूप में सरल । स्थानीय रूप से git शाखा का नाम बदलने और दूरस्थ रूप से इस स्निपेट का उपयोग करने के लिए (परीक्षण और एक आकर्षण की तरह काम करता है):
git branch -m <oldBranchName> <newBranchName>
git push origin :<oldBranchName>
git push --set-upstream origin <newBranchName>
स्पष्टीकरण:
नाम बदलें:
Git Reference: -m या -M विकल्प के साथ , इसका नाम बदल दिया जाएगा। यदि इसके अनुरूप रिफ्लॉग होता है, तो इसका मिलान करने के लिए नाम बदल दिया जाता है, और शाखा का नाम बदलने के लिए एक रिफ्लॉग प्रविष्टि बनाई जाती है। यदि मौजूद है, तो -नाम का उपयोग बलपूर्वक होने के लिए किया जाना चाहिए।
चरण हटाएं:
Git Reference: git पुश ओरिजिन: प्रायोगिक एक रेफरी ढूंढें जो मूल रिपॉजिटरी (उदाहरण के लिए refs / heads / प्रयोगात्मक) में प्रयोगात्मक से मेल खाती है, और इसे हटा दें।
रिमोट रेपो स्टेप पर अपडेट करें (ट्रैकिंग के लिए अपस्ट्रीम संदर्भ):
Git reference: --set-upstream प्रत्येक शाखा के लिए जो अप टू डेट है या सफलतापूर्वक पुश किया गया है, अपस्ट्रीम (ट्रैकिंग) संदर्भ जोड़ते हैं, जिसका उपयोग तर्क-कम गिट-पुल [1] और अन्य कमांड द्वारा किया जाता है। अधिक जानकारी के लिए, git-config [1] में शाखा देखें।
git पुश ओरिजिनल हेड
git शाखा -m पुराना-शाखा-नाम नया-शाखा-नाम
git पुश ओरिजिनल हेड
Git ब्रांच रन git ब्रांच -m old_name new_name यह आपके स्थानीय रेपो git पुश ओरिजिन पर ब्रांच नाम को संशोधित करेगा: old_name new_name यह संशोधित नाम को रिमोट में धकेल देगा और पुरानी ब्रांच git पुश ओरिजिन-डिलीट new -name हटा देगा। दूरस्थ शाखा। यह समस्या को हल करता है