मैं एक गिट भंडार का नाम कैसे बदलूं?


433

git mvएक रिपॉजिटरी में एक फ़ाइल या निर्देशिका का नाम बदल देता है। मैं Git रिपॉजिटरी का नाम कैसे बदलूं?


1
मैंने mvअपने 'रिपॉजिटरी होस्ट' में PROJ0.git का नाम बदलने की कोशिश की है, यह काम करता है। लेकिन मुझे नहीं पता कि यह सही है, मेरा मतलब है, वैध।
यंतो झी

5
आपका प्रश्न ठीक है। Git के पास रिपॉजिटरी हैं और वे ग्रहण परियोजनाओं जैसी परियोजनाएं शामिल कर सकते हैं यदि आप अपने प्रोजेक्ट को git रिपॉजिटरी में रखने का निर्णय लेते हैं। यदि आप जो चाहते थे तो नीचे दिए गए तरीके से देखें।
डैनी रेमिंगटन - ओएमएस

3
gitखुद के पास रिपॉजिटरी नाम निर्दिष्ट करने का कोई प्रावधान नहीं है। रूट डायरेक्टरी नाम रिपॉजिटरी नाम से संबंधित सत्य का एकल स्रोत है.git/descriptionफ़ाइल हालांकि जैसे कुछ अनुप्रयोगों के द्वारा ही प्रयोग किया जाता हैGitweb
उज्जवल सिंह

जवाबों:


620

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

प्रदर्शित नाम

प्रदर्शित नाम का नाम बदलें (उदाहरण के लिए, द्वारा दिखाया गया है gitweb):

  1. .git/descriptionभंडार का नाम सम्‍मिलित करने के लिए संपादित करें ।
  2. फ़ाइल सहेजें।

रिपोजिटरी डायरेक्टरी

Git रिपॉजिटरी वाली निर्देशिका के नाम का संदर्भ नहीं देता है, जैसा कि इसके द्वारा उपयोग किया जाता है git clone master child, इसलिए हम इसका नाम बदल सकते हैं:

  1. कमांड प्रॉम्प्ट (या फ़ाइल प्रबंधक विंडो) खोलें।
  2. उस निर्देशिका में बदलें जिसमें रिपॉजिटरी डायरेक्टरी होती है (यानी, रिपॉजिटरी डायरेक्टरी में ही न जाएं)।
  3. निर्देशिका का नाम बदलें (उदाहरण के लिए, mvकमांड लाइन या F2GUI से हॉटकी का उपयोग करके )।

रिमोट रिपोजिटरी

एक दूरस्थ भंडार का नाम इस प्रकार है:

  1. दूरस्थ होस्ट पर जाएं (उदाहरण के लिए, https://github.com/User/project )।
  2. प्रोजेक्ट का नाम बदलने के लिए होस्ट के निर्देशों का पालन करें (यह होस्ट से होस्ट में भिन्न होगा, लेकिन आमतौर पर सेटिंग्स एक अच्छा प्रारंभिक बिंदु है)।
  3. अपनी स्थानीय रिपॉजिटरी डायरेक्टरी पर जाएं (यानी, कमांड प्रॉम्प्ट खोलें और रिपॉजिटरी की डायरेक्टरी में बदलें)।
  4. नया URL निर्धारित करें (उदाहरण के लिए git@github.com:User/project-new.git)
  5. Git का उपयोग करके नया URL सेट करें:

    git remote set-url origin git@github.com:User/project-new.git
    

3
दूसरे मामले में, पहले से ही रिपॉजिटरी को क्लोन करने के लिए क्या होता है?
फ्रेडरिक स्कैडॉन्ग

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

14
ध्यान दें कि यदि आप सबमॉडुल्स का उपयोग करते हैं तो दावा "git इस निर्देशिका नाम का संदर्भ नहीं देता है" गलत है: git सबमॉडुल्स को संदर्भित करने के लिए एक निरपेक्ष पथ का उपयोग करता है, इसलिए आपकी रिपॉजिटरी निर्देशिका का नाम बदलने से सबमॉड्यूल टूट जाएगा। देखें stackoverflow.com/questions/10144149/...
एडवर्ड

मैं Windows GUI के लिए GitHub का उपयोग कर रहा हूं, और मुझे .गित / विवरण फ़ाइल (मेरे पास एक नहीं है) को बदलना नहीं था। मूल रीसेट करने का अंतिम चरण करने के बाद GUI में प्रदर्शित नाम बदल गया।
जो

4
लोग उल्लेख करते रहते हैं .it / वर्णन करते हैं, लेकिन रेपो का नाम बदलने के लिए आपने वास्तव में वहाँ क्या परिवर्तन किए हैं, इसका कोई उल्लेख नहीं है
प्रोग्रामर Unextraordinair

24

Git रिपॉजिटरी में कोई नाम नहीं है। यदि आप चाहें तो आप अपने वर्कट्री वाली निर्देशिका का नाम बदल सकते हैं।


7
हां, एक git रेपो का एक नाम है। नाम बदलने के बाद मुझे यह त्रुटि मिली:$ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed
सवि

@Sawny, मैं नहीं देखता कि किसी भी चीज़ के साथ क्या करना है।
तोबू

19
आपने कहा था कि git repo का नाम नहीं है, लेकिन यह सच नहीं है। यदि आप सबमोडुअल्स का उपयोग करते हैं और सिर्फ फ़ोल्डर का नाम बदलते हैं तो आपको गिट से त्रुटियां मिलेंगी। देखें stackoverflow.com/questions/9878860/…
Sawny

6
ठीक है, गिट रिपॉजिटरी मामलों के भीतर एक सबमॉड्यूल का रास्ता। यह सच है लेकिन इस विशेष प्रश्न के लिए प्रासंगिक नहीं है।
तोबू

5
बेशक रिपॉजिटरी का एक नाम है। नीचे देखें कि इसे कैसे बदलना है।
डैनी रेमिंगटन - ओएमएस

19

नाम बदलें PRJ0.gitकरने के लिए PROJ1.git, फिर URL में स्थित चर संपादित .git/configअपनी परियोजना की फाइल।


15

उदाहरण के लिए, एक नए भंडार में, के बाद $ git init ,।

जो इस तरह दिखता है:

Unnamed repository; edit this file 'description' to name the repository.

स्थानीय रिपॉजिटरी पर इसे संपादित करने से इसे रिमोट पर नहीं बदला जाएगा।


एलेक्स ब्राउन के जवाब में आपका नाम शामिल था।
यान्टो झी

13

यदि आप अपने भंडार का नाम बदलना चाहते हैं, तो अपने भंडार पर जाएं और "व्यवस्थापक" पर क्लिक करें, फिर नाम बदलें।

एक बार जब आप लाल बॉक्स को कुछ आकाश-गिरने और अन्य चीजों के बारे में चेतावनी देते हुए देखते हैं, तो इस प्रश्न को पढ़ें


12
दूसरों को यह नोट करने में मदद कर सकते हैं कि यह एक जीथब-विशिष्ट सुझाव है, और सामान्य रूप से गिट पर लागू नहीं होगा।
डेड्रामा

1
जनवरी 2013 तक, गीथब निर्देश अब होना चाहिए: (जीथब में लॉग इन करें), अपने रेपो में जाएं, फिर "सेटिंग" >> "विकल्प" पर जाएं और वहां एक नाम बदलें बटन देखें। खराब चीजों के बारे में लाल चेतावनी के बारे में, ड्रोगन अन्य से लिंक करते हैं इसलिए सवाल अभी भी अत्यधिक अनुशंसित है।
पेस्टोफैगस

12

अपने GitHub खाते के किसी भी भंडार का नाम बदलने के लिए:

  1. उस विशेष भंडार पर जाएँ जिसका आप नाम बदलना चाहते हैं
  2. सेटिंग टैब पर नेविगेट करें
  3. वहां, रिपॉजिटरी नाम सेक्शन में, वह नया नाम टाइप करें, जिसे आप रखना चाहते हैं और क्लिक करें Rename

GitHub सवाल नहीं है, यह git के बारे में है।
रॉब्रेकॉर्ड

10

यदि आप GitLab या GitHub का उपयोग कर रहे हैं, तो आप उन फ़ाइलों को ग्राफिक रूप से संशोधित कर सकते हैं।

GitLab का उपयोग करना

अपनी प्रोजेक्ट सेटिंग पर जाएं । वहां आप परियोजना के नाम को संशोधित कर सकते हैं और सबसे महत्वपूर्ण बात यह है कि आप अपने भंडार का नाम बदल सकते हैं (जब आप खतरे की धारा में आने लगते हैं)।

एक बार ऐसा करने के बाद, स्थानीय क्लाइंट कॉन्फ़िगरेशन का उपयोग करके अपडेट किया जाना चाहिए

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git

9
  • सर्वर साइड पर, सामान्य रूप से mv कमांड के साथ रिपॉजिटरी का नाम बदलें :

    mv oldName.git newName.git
    
  • फिर क्लाइंट की ओर से, [remote "origin"]URL के मूल्य को नए में बदलें :

    url=example.com/newName.git
    

इसने मेरे लिए काम किया।


8

यदि आप ग्रहण में हैं और ईजीट स्थापित कर चुके हैं, तो आप उस रिपॉजिटरी का नाम बदल सकते हैं, जिसमें निम्न कार्य करके एक परियोजना है:

1) ग्रहण में : उन सभी परियोजनाओं को बंद करें जो भंडार में हैं।

2) फ़ाइल सिस्टम में : रिपॉजिटरी में निर्देशिका / फ़ोल्डर का पता लगाएँ।

3) फ़ाइल सिस्टम में : रिपॉजिटरी वाली डायरेक्टरी / फोल्डर का नाम बदलें।

4) फाइल सिस्टम में : उस डायरेक्टरी / फोल्डर को खोलें जिसमें रिपॉजिटरी है और जिस प्रोजेक्ट का नाम बदलना चाहते हैं, उस प्रोजेक्ट डायरेक्टरी / फोल्डर का नाम बदल दें ताकि यह प्रोजेक्ट के नए नाम से मेल खाए। (यह आवश्यक नहीं है, लेकिन यह ग्रहण में परियोजना के नाम और भंडार में परियोजना निर्देशिका / फ़ोल्डर के बीच स्थिरता देता है।)

5) ग्रहण में : सभी परियोजनाओं है कि भंडार में हैं, लेकिन यकीन है कि करने के लिए जा हटाएँ नहीं 'फाइल सिस्टम से सामग्री हटाएं' चेकबॉक्स जांचें। (प्रोजेक्ट में अब फ़ाइल सिस्टम की सामग्री का सही स्थान नहीं होना चाहिए ताकि डेटा को किसी भी स्थिति में हटाया नहीं जा सके लेकिन यह खेद से सुरक्षित होना बेहतर है।

6) ग्रहण में : मेनू से फ़ाइल का चयन करें। आयात ... विकल्प।

7) एक्लिप्स में : डायलॉग बॉक्स में 'गिट' फ़ोल्डर खोलें, 'प्रोजेक्ट्स फ्रॉम गिट' चुनें और 'नेक्स्ट' पर क्लिक करें।

8) ग्रहण में : संवाद बॉक्स में 'स्थानीय' चुनें और 'अगला' पर क्लिक करें।

9) एक्लिप्स में : डायलॉग बॉक्स में 'Add ...' बटन पर क्लिक करें।

10) ग्रहण में : डायलॉग बॉक्स में सुनिश्चित करें कि रिपॉजिटरी के आगे वाला चेक बॉक्स चेक किया हुआ है और 'फिनिश' पर क्लिक करें।

11) ग्रहण में : डायलॉग बॉक्स में रिपॉजिटरी का चयन करें और 'नेक्स्ट' पर क्लिक करें।

12) ग्रहण में : डायलॉग बॉक्स में 'मौजूदा प्रोजेक्ट्स आयात करें' रेडियो बटन, "वर्किंग डायरेक्टरी" चुनें और 'नेक्स्ट' पर क्लिक करें।

13) ग्रहण में : संवाद बॉक्स में उन परियोजनाओं के बगल में स्थित चेक बॉक्स को चेक करें, जिन पर आप काम करना चाहते हैं और 'समाप्त' पर क्लिक करें।

14) ग्रहण में : यदि वांछित हो तो भंडार में जो भी परियोजनाएँ हैं उनका नाम बदलें। (ग्रहण और फ़ाइल सिस्टम के बीच स्थिरता के लिए, उन्हें उसी नाम दिया गया है, जो रिपॉजिटरी डायरेक्टरी / फ़ोल्डर के अंदर प्रोजेक्ट डायरेक्टरी / फ़ोल्डर है।)


+1 (ग्रहण में इसके लिए आवश्यक 14 चरणों से चकित और आश्चर्यचकित नहीं, विशेष रूप से 'यदि आपने इगत स्थापित किया है', तो कुछ दर्जन और चरणों को
जोड़कर

7

Git में ही रिपॉजिटरी नाम निर्दिष्ट करने का कोई प्रावधान नहीं है। रूट डायरेक्टरी का नाम रिपॉजिटरी नाम से संबंधित सत्य का एकल स्रोत है।

.git/descriptionहालांकि केवल कुछ अनुप्रयोगों, जैसे द्वारा प्रयोग किया जाता है GitWeb



4

सरल होने के लिए, बस उस ग्रहण परियोजना (डिस्क पर सामग्री का चयन न करें) को हटा दें, फिर परियोजना को फिर से आयात करें।

ग्रहण Git से जुड़ी परियोजना की पहचान करेगा और इसे Git परिप्रेक्ष्य में रखेगा।

यह एक सम्मोहन की तरह काम करता है।


5
यह मूल प्रश्न का उत्तर नहीं देता है।
मज़ारेज़

क्या यह जवाब डैनी रेमिंगटन के लिए एक टिप्पणी है - ओएमएस का जवाब ?
पीटर मॉर्टेंसन

4

अपने रिमोट के रूप में Github के साथ

जीथब पर रिमोट रेपो का नाम बदलना

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

मुख्य रेपो पृष्ठ से, सेटिंग टैब दाईं ओर है, और रेपो नाम पृष्ठ पर पहला आइटम है:

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

Github नए URL पर अनुरोधों को रीडायरेक्ट करेगा

गितुब में एक बहुत अच्छी विशेषता जब आप एक रेपो का नाम बदलते हैं, तो यह है कि गितुब पुराने रेपो नाम और सभी संबंधित URL को बचाएगा और नए URL पर पुनर्निर्देशित ट्रैफ़िक देगा । चूँकि आपका उपयोगकर्ता नाम / org और रेपो नाम URL का एक हिस्सा है, इसलिए नाम बदलने से URL बदल जाएगा।

चूँकि गितुब पुराने रेपो नाम को सहेजता है और नए URL के अनुरोधों को पुनर्निर्देशित करता है, अगर कोई भी पुराने रेपो नाम के आधार पर लिंक का उपयोग करता है जब मुद्दों, विकी, सितारों, या अनुयायियों तक पहुंचने की कोशिश करता है, तब भी वे Gubub वेबसाइट पर नए स्थान पर पहुंचेंगे। Github भी निचले स्तर Git आदेशों की तरह पुनर्निर्देश git clone, git fetchआदि

अधिक जानकारी एक रेपो का नाम बदलने के लिए जीथब हेल्प में है

स्थानीय रेपो नाम का नामकरण

जैसा कि दूसरों ने उल्लेख किया है, आपके रेपो का स्थानीय "नाम" आमतौर पर रूट फ़ोल्डर / निर्देशिका नाम माना जाता है, और आप उस फ़ोल्डर को किसी भी स्थान पर बदल सकते हैं, स्थानांतरित कर सकते हैं या कॉपी कर सकते हैं और यह रेपो को बिल्कुल भी प्रभावित नहीं करेगा।

Git को रूट फ़ोल्डर के अंदर फ़ाइलों के बारे में चिंता करने के लिए डिज़ाइन किया गया है।


"यदि कोई पुराने रेपो नाम के आधार पर लिंक का उपयोग करता है ... वे अभी भी गितुब वेबसाइट पर नए स्थान पर पहुंचेंगे"। हां, ऐसी सुविधा है। वही चीज़ BitBucket के लिए मान्य है: community.atlassian.com/t5/Bitbucket-questions/… । यह जानना अच्छा होगा कि पुराने नाम के किसी भी संदर्भ को पूरी तरह से कैसे नष्ट किया जाए, क्योंकि यह मेरी समझ है कि यह नामकरण नहीं है, लेकिन नकल है। पूर्ण नाम बदलने (सभी पुराने सामानों को नष्ट करने के साथ) के लिए सही प्रक्रिया जानना अच्छा होगा।
अलेक्जेंडर समोयलोव

@AlexanderSamoylov मैं यहाँ सिर्फ अनुमान लगा रहा हूँ, लेकिन मुझे पूरी तरह से संदेह है कि कुछ भी पुराने प्रारूप में सहेजा गया है। गितुब बस पुराने संग्रह नाम को आरक्षित रखना चाहिए और पुराने संग्रह नाम पर नए संग्रह नाम पर आने वाले किसी भी ट्रैफ़िक को पुनर्निर्देशित करना चाहिए। यानी https://github.com/oldrepo/some_pathसिर्फ उस पर पुनर्निर्देशित किया जाएगा https://github.com/newrepo/some_path, जहां सब कुछ स्थानांतरित कर दिया गया है। केवल नकारात्मक पक्ष यह होना चाहिए कि पुराना रेपो नाम स्थायी रूप से आरक्षित है, इसलिए इसका पुन: उपयोग नहीं किया जा सकता है (उन लोगों से बचने के लिए भी अच्छा है जिन्होंने पुराने यूआरएल को एक्सेस करने से बचाया है)।
लाइटसीसी


2
  1. दूरस्थ होस्ट पर जाएं (जैसे, https://github.com/<User>/<Project>/ )।
  2. टैब सेटिंग्स पर क्लिक करें ।
  3. रिपॉजिटरी नाम (और प्रेस बटन Rename) के तहत नाम बदलें ।

0

ब्राउज़र पर ओपन गेट रिपॉजिटरी, "सेटटिंग्स" के लिए मिला, आप नाम बदलें बटन देख सकते हैं।

इनपुट नया "रिपॉजिटरी नाम" और "नाम बदलें" बटन पर क्लिक करें।


0

क्या आपने इसके बजाय मौजूदा Git को पुन: व्यवस्थित करने के लिए अपने प्रोजेक्ट का नाम बदलने package.jsonऔर कमांड निष्पादित करने का प्रयास git initकिया है?

आपका मौजूदा गिट इतिहास अभी भी मौजूद रहेगा।


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