मैं GitHub पर एक रिपॉजिटरी का नाम कैसे बदलूं?


317

मैं GitHub पर अपनी एक रिपॉजिटरी का नाम बदलना चाहता था, लेकिन जब एक बड़ी लाल चेतावनी ने कहा तो मैं डर गया:

  1. हम पुराने स्थान से कोई रीडायरेक्ट सेट नहीं करेंगे
  2. नए स्थान पर जाने के लिए आपको अपने स्थानीय रिपॉजिटरी को अपडेट करना होगा
  3. नाम बदलने में कुछ मिनट लग सकते हैं

क्या किसी को मैन्युअल रूप से # 1 और # 2 को पूरा करने के लिए चरण-दर-चरण निर्देश हैं? या मुझे स्थानीय स्तर पर क्या करना है?


7
Github repo का नाम बदलने के बाद आपको अब अपने स्थानीय रीप को अपडेट करने की आवश्यकता नहीं है। देखें नीचे मेरा उत्तर
वॉनसी

2
Bitbucket पर, आप रिपॉजिटरी सेटिंग्स में जाते हैं और नाम बदलते हैं, और फिर अपने स्थानीय कंप्यूटर पर, इसे .git/configफ़ाइल में भी बदलते हैं ।
aliteralmind

1
ओपन रेपो -> सेटिंग्स -> नाम बदलें
कानूनगावु सुगुमार

जवाबों:


339

यदि आप प्रोजेक्ट पर काम करने वाले एकमात्र व्यक्ति हैं, तो यह कोई बड़ी समस्या नहीं है, क्योंकि आपको केवल # 2 करना है।

मान लीजिए कि आपका उपयोगकर्ता नाम है someuserऔर आपकी परियोजना कहलाती है someproject

फिर आपके प्रोजेक्ट का URL 1 होगा

git@github.com:someuser/someproject.git

यदि आप अपने प्रोजेक्ट का नाम बदलते हैं, तो यह someprojectURL के भाग को बदल देगा , जैसे

git@github.com:someuser/newprojectname.git

(फुटनोट देखें यदि आपका URL ऐसा नहीं दिखता है)।

Git की आपकी वर्किंग कॉपी इस URL का उपयोग तब करती है जब आप pushया करते हैं pull

इसलिए आपको अपनी परियोजना का नाम बदलने के बाद, आपको अपनी कार्यशील प्रति नए URL को बतानी होगी।

आप इसे दो चरणों में कर सकते हैं:

सबसे पहले, cdअपने स्थानीय Git निर्देशिका के लिए, और पता लगाएँ कि दूरस्थ नाम क्या है जो उस URL को संदर्भित करता है:

$ git remote -v
origin  git@github.com:someuser/someproject.git

फिर, नया URL सेट करें

$ git remote set-url origin git@github.com:someuser/newprojectname.git

या Git के पुराने संस्करणों में, आपको आवश्यकता हो सकती है:

$ git remote rm origin
$ git remote add origin git@github.com:someuser/newprojectname.git

( originसबसे सामान्य दूरस्थ नाम है, लेकिन इसे कुछ और कहा जा सकता है।)

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

आगे की पढाई:

फुटनोट:

1 आपके URL का सटीक प्रारूप इस बात पर निर्भर करता है कि आप किस प्रोटोकॉल का उपयोग कर रहे हैं, जैसे


आपके जवाब का धन्यवाद! # 1 के लिए, मेरे पास कोई वेब पेज नहीं है जो रेपो से जुड़ा हो। तो मैं सुरक्षित हूं? # 2 के लिए, वास्तव में वहां क्या हो रहा है? धन्यवाद!
खरगोश 10

मैंने रीमोट्स के बारे में अधिक जानकारी जोड़ी है जो मदद करनी चाहिए।
मिकेल

1
मेरा आउटपुट git remote -vफॉर्म में है git@github.com:someuser, आपके द्वारा यहां डाला गया फॉरवर्ड स्लैश मेरे लिए काम नहीं आया। बाकी सब कुछ यहाँ किया, हालाँकि।
दरोगाओं

धन्यवाद। फिक्स्ड। मुझे अभी भी https और git URL का उल्लेख करने का एक तरीका खोजना है।
मिकेल

3
क्या यह रेपो के आंकड़ों की तरह सितारों की संख्या को प्रभावित करेगा?
एलेक्स नैस्पो

132

ध्यान दें कि मई 2013 से (" रिपॉजिटरी रीडायरेक्ट्स यहाँ हैं! "), आप किसी भी लिंक को तोड़े बिना अपने गिटहब रेपो का नाम बदल सकते हैं:

हमें यह घोषणा करते हुए खुशी हो रही है कि आज से, हम इन परिस्थितियों में अपने नए घर के लिए पिछले भंडार स्थानों के लिए सभी अनुरोधों को स्वचालित रूप से पुनर्निर्देशित करेंगे। आपको कुछ खास नहीं करना है। बस नाम बदलें और हम बाकी का ध्यान रखेंगे।

एक विशेष बोनस के रूप में, हम पिछले रिपॉजिटरी स्थानों से सभी गिट क्लोन, लाने और पुश अनुरोधों की सर्विसिंग करेंगे

इसका मतलब है कि आपको git remote set-urlअपने स्थानीय क्लोन किए गए रेपो पर (अपने रिमोट GitHub रेपो के url को बदलना) नहीं है!
हालांकि गेब्रियल नोटों टिप्पणी में है कि आधिकारिक GitHub मदद पृष्ठ दृढ़ता से सिफारिश की है कि आप ऐसा करते हैं:

भ्रम को कम करने के लिए, हम नए रिपॉजिटरी URL को इंगित करने के लिए किसी भी मौजूदा स्थानीय क्लोन को अपडेट करने की दृढ़ता से सलाह देते हैं। आप कमांड लाइन पर गिट रिमोट का उपयोग करके ऐसा कर सकते हैं:

git remote set-url origin new_url

हालांकि खबरदार:

इस समय जब उनके रिपॉजिटरी का नाम बदल दिया जाता है तो GitHub पेज की साइटें अपने आप पुनर्निर्देशित नहीं होती हैं। पेज रिपॉजिटरी का
नाम बदलनेसेडोमेन या कस्टम डोमेनपर होस्ट की गई सामग्री के लिए किसी भी मौजूदा लिंक को तोड़ना जारी रहेगा।github.io

साथ ही, उपयोगकर्ता अभी भी नाम स्थान का मालिक है : यदि वह / वह नामांकित रेपो के पुराने नाम का उपयोग करके एक नया रेपो बनाता है , तो पुनर्निर्देशन (कहा गया रेपो रे के लिए) काम करना बंद कर देगा।


4
यह वास्तव में उपयोगी है, लेकिन शुरू में बहुत भ्रमित था जब नाम बदलकर मेरा पुराना धक्का / पुल गतिविधि नहीं थी। अब मैं तुरंत नाम बदल सकता हूं और बाकी सभी को set-urlनिश्चित तिथि से पहले अपने रिपॉजिटरी को अपडेट करने के लिए बता सकता हूं । उस तारीख के बाद, मैं हूँ तोड़ एक अच्छा के साथ एक खाली बनाकर पुराने नाम रेपो रीडमी फ़ाइल "मैं यू चेतावनी दी,"।
कोड

ध्यान दें कि भले ही आपको नए रिपॉजिटरी URL को इंगित करने के लिए मौजूदा स्थानीय क्लोन को अपडेट करने के लिए उपयोग git remote set-urlकरने की आवश्यकता नहीं है , लेकिन यह दृढ़ता से अनुशंसा की जाती है कि आप ऐसा करें।
गेब्रियल

61

मैं बस अपना नाम बदलकर बस:

  1. मेरे भंडार पर github.com पर जा रहा हूं
  2. सेटिंग्स टैब खोलें
  3. पहली सेटिंग जो आप देख सकते हैं वह है "रिपॉजिटरी नाम"
  4. वास्तविक एक को बदलें और नया नाम जिसे आप अपने भंडार को देना चाहते हैं
  5. नाम बदलें पर क्लिक करें

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


1
यह आश्चर्यजनक है कि कैसे, न केवल यहां अत्यधिक वोट किए गए उत्तर, बल्कि github.com पर पृष्ठों को सेटिंग टैब के माध्यम से github.com पर नाम बदलने के चरण के साथ मदद करें।
user3673

16

सबसे सरल तरीका मुझे मिला

  1. उदाहरण के लिए अपने रेपो लिंक पर जाएं: - https://github.com/someuser/someRepo.git

  2. टैब पर क्लिक करें।

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

पहली चीज जो आप देख सकते हैं वह है आपका रेपो नाम, आप उसे संपादित कर सकते हैं।

नोट: - यदि आपने स्थानीय पर रेपो क्लोन किया है, तो इसका फ़ोल्डर नाम मैन्युअल रूप से बदलें, बस।


10

मुझे उन प्रतिक्रियाओं पर बहुत अधिक सकारात्मक प्रतिक्रिया मिलती है जो मुझे बिल्कुल भी सटीक / पूर्ण नहीं लगती हैं।

मन में दो बातें हैं:

  • रिमोट रिपॉजिटरी
  • रिपॉजिटरी की स्थानीय प्रति

यदि आपने अभी तक अपने मशीन में अपने रेपो का क्लोन नहीं बनाया है, तो आपको केवल जीथब रिपॉजिटरी का नाम बदलने की आवश्यकता है और फिर रेपो को क्लोन करने के लिए आगे बढ़ें ताकि आपके पास एक स्थानीय प्रति हो सके। Github रेपो का नाम बदलने के लिए, आपको बस निम्नलिखित की आवश्यकता है:

  1. रिपॉजिटरी साइट (यानी https://github.com/userX/repositoryZ ) पर जाएं
  2. नेविगेशन बार में, आपको "सेटिंग" नाम का एक टैब दिखाई देगा। इस पर क्लिक करें।
  3. बस वांछित के साथ वर्तमान रिपॉजिटरी नाम को संपादित करें और "नाम बदलें" दबाएं।
  4. सामान्य रूप से रिपॉजिटरी को क्लोन करें (यानी git क्लोन https://github.com/userX/repositoryU )।

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

  1. आप अपने रेपो के लिए नए दिए गए नाम का उपयोग करना चाह सकते हैं। ऐसा करने के लिए, स्थानीय फ़ोल्डर का नाम बदलकर या तो OS GUI (फाइंडर, विंडोज एक्सप्लोरर, आदि) या कंसोल का उपयोग करके करें:

mv -R current-repo-name new-repo-name

  1. रिमोट यूआरएल बदलें। फ़ोल्डर की जड़ से, निम्नलिखित का उपयोग करें:

$ git remote set-url origin https://github.com/userX/repositoryU

या

$ git remote set-url origin git@github.com:userX/repositoryU.git

दूसरा कदम अनिवार्य नहीं है, हालांकि। जीथब ने कुछ समय पहले घोषणा की कि वे पिछले भंडार के सभी अनुरोधों को असाइन किए गए लोगों को पुनर्निर्देशित करेंगे । इसका मतलब है कि आपको उपयोग करने की आवश्यकता नहीं है $ git remote set-url ..., लेकिन वे अभी भी आपको भ्रम से बचने के लिए ऐसा करने के लिए प्रोत्साहित करते हैं।

आशा है कि यह मदद की। यदि आपके कोई प्रश्न हैं या पोस्ट पर्याप्त स्पष्ट नहीं है, तो मुझे बताएं।


9

यह उत्तर अब अप्रचलित है! GitHub अब नए स्थानों पर अग्रेषित करेगा। देखें इस उत्तर जानकारी के लिए।


इस चेतावनी का कारण यह है कि # 1 मैन्युअल रूप से नहीं बनाया जा सकता है।

यदि आप एकमात्र ऐसे व्यक्ति हैं जो रिपॉजिटरी से जुड़कर काम कर रहे हैं, तो आप अपने स्थानीय रेपो और अपने वेबपेजों में रिमोट को बदलने के साथ ठीक हैं।

हालाँकि, पहली जगह में जीथब पर एक सार्वजनिक रिपॉजिटरी होने का कारण यह है कि आप दूसरों को अपने रिपॉजिटरी को क्लोन कर सकते हैं और अपने गिथब प्रोजेक्ट पेज से लिंक कर सकते हैं।


पुराने url github.com/<username>/<repository>का स्वामित्व github के पास है। जब वे नए url में कोई रीडायरेक्ट सेटअप नहीं करते हैं, तो कोई भी नहीं कर सकता है। तो जो चीजें आप बता रहे हैं उन्हें छोड़कर हर किसी के लिए चीजें टूट जाएंगी।

हालांकि यह कितनी बड़ी समस्या है, आप पर निर्भर है। यदि आपके पास एक अलग सर्वर पर एक आधिकारिक परियोजना पृष्ठ है, तो जीथब यूआरएल अधिक समस्या नहीं हो सकती है। यदि आपने अपनी परियोजना को मेलिंग सूचियों और निर्देशिकाओं में github url के साथ विज्ञापित किया है, तो शायद आपको रेपो नाम नहीं बदलना चाहिए।


रेपो नाम बदलने का एक विकल्प यह है कि आप अपने नए रेपो तक कैसे पहुंचें, इस बारे में एक नया रिपॉजिटरी बनाएं और पुराने एक (भी रेपो में कमिट करें) के रूप में नोट्स छोड़ें।

यदि आप अपने नए रेपो को अपने पुराने रेपो के कांटे के रूप में सूचीबद्ध नहीं करना चाहते हैं तो आपको एक नया जीथब खाता बनाने की आवश्यकता है। आप दोनों रिपॉजिटरी के लिए सहयोगी के रूप में अपना अन्य खाता जोड़ सकते हैं।


6

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


आप गितुब पर अपनी खुद की परियोजना को कांटा नहीं कर सकते। इसलिए आपको दूसरे खाते का उपयोग करना होगा, लेकिन यह काम करेगा।
जॉनीजैड

मैं एक संगठन के लिए forked, तो मुझे लगता है कि अन्य खाते का उपयोग करने के समान है। मुझे यकीन है कि आप सही हैं।
नील बेस्ट

आप एक नया खाली भंडार बना सकते हैं। पुराने भंडार का क्लोन। अपनी नई रिपॉजिटरी का संदर्भ देते हुए रिमोट जोड़ें। और फिर उन शाखाओं को धक्का दें जिन्हें आप नई रिपॉजिटरी (जैसे मास्टर) में चाहते हैं। मुझे लगता है कि एक आंशिक कांटा होगा।
डारेल ली

6
  • अपने रिपॉजिटरी पथ पर नेविगेट करें।
  • पर क्लिक करें सेटिंग बटन करें जो राइट पैन में है।
  • पुराने रिपॉजिटरी नाम को नए नाम से बदलें।
  • नाम बदलें बटन पर क्लिक करें

3

यह समाधान उन उपयोगकर्ताओं के लिए है जो GitHub डेस्कटॉप का उपयोग करते हैं।

  1. GitHub.com पर सेटिंग से अपने रिपॉजिटरी का नाम बदलें

  2. अब अपने डेस्कटॉप से ​​सिंक पर क्लिक करें।

किया हुआ।


यह अजीब बात है कि इस तरह की एक बुनियादी सुविधा आवेदन में ही नहीं मिलेगी
svarog

1
  1. इस url ( https://github.com/ ) को अपने ब्राउज़र से खोलें

  2. पृष्ठ के दाईं ओर रिपॉजिटरी पर जाएं

  3. उस रिपॉजिटरी का लिंक खोलें जिसे आप नाम बदलना चाहते हैं

  4. सेटिंग्स पर क्लिक करें (आप नेविगेशन बार में पाएंगे)

  5. शीर्ष पर आपको एक बॉक्स मिलेगा (रिपॉजिटरी नाम) जहां आप नया नाम लिखते हैं

  6. नाम बदलें


0

मैंने वेब पेज पर रिपॉजिटरी का नाम बदलने की कोशिश की है:

  1. दाहिने पन्नों के शीर्ष पर क्लिक करें कि यह आपका अवतार है।
  2. आप के आइकन को देख सकते हैं, उस पर settingक्लिक करें और फिर आप के Repositoriesनीचे पा सकते हैं Personal setting
  3. क्लिक करें Repositoriesऔर रिपॉजिटरी की अपनी निर्देशिका दर्ज करें, रिपॉजिटरी चुनें जिसे आप नाम बदलना चाहते हैं।
  4. फिर आप चुने हुए रिपॉजिटरी में प्रवेश करेंगे और आपको settingशीर्ष पंक्ति में जोड़ा गया आइकन मिलेगा , बस इसे क्लिक करें और नया नाम दर्ज करें - क्लिक करें Rename

हो गया, इतना आसान।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.