परिवर्तन रिपॉजिटरी निर्देशिका स्थान बदलें।


200

विंडोज के लिए Git / Github के साथ, अगर मेरे पास इस निर्देशिका के साथ एक रिपॉजिटरी है: C:\dir1\dir2तो मुझे रेपो फ़ाइलों को स्थानांतरित करने के लिए क्या करने की आवश्यकता है C:\dir1? मैं स्पष्ट रूप से फ़ाइलों को कॉपी और पेस्ट कर सकता हूं, लेकिन मुझे गेट की तरफ क्या करने की आवश्यकता है?

GitHub पर मेरा यह रेपो है और मैं Windows के लिए Git Bash और GitHub का उपयोग करता हूं।


1
इस उत्तर को देखें , यह किसी अन्य फ़ोल्डर या किसी अन्य कंप्यूटर पर जाने के लिए समान है।
रेकनरड जूल

जवाबों:


234

बस संपूर्ण कार्यशील निर्देशिका सामग्री (छिपी .gitनिर्देशिका सहित ) की प्रतिलिपि बनाएँ । यह पूरी कार्यशील निर्देशिका को नई निर्देशिका में ले जाएगा और GitHub पर दूरस्थ रिपॉजिटरी को प्रभावित नहीं करेगा।

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


3
लेकिन कैसे Windows के लिए GitHub स्थानीय रेपो को ट्रैक करता है? उस छोर पर कुछ विन्यास होना चाहिए।

3
जब मैंने विंडोज पर ऐसा किया तो इसने मुझे एक नया रेपो बनाने के लिए मजबूर किया।
472084

1
@Jealgle, उन्होंने इस उत्तर को पोस्ट किए जाने के बाद इसे बदल दिया हो सकता है। यदि आवश्यक हो, तो मुझे एक नज़र रखना होगा और अपना जवाब अपडेट करना होगा।
ctor

2
यह आपको एक नया रेपो बनाने के लिए नहीं कहना चाहिए: यदि ऐसा हुआ है, तो आप स्पष्ट रूप से एक गिट फाइल (शायद एक छिपा हुआ) को याद कर सकते हैं। मेरे पास आया, और जब मैंने फिर से कोशिश की तो मैंने देखा कि मैं कुछ याद कर रहा था।
जुआन

1
मैं विन पर हूं। जब मैंने फ़ोल्डर को मैन्युअल रूप से एक नए स्थान पर ले जाया, तब मैंने जीआईटी जीआई ऐप को फिर से खोल दिया और प्रोजेक्ट फ़ोल्डर को मैन्युअल रूप से भी स्थानांतरित कर दिया। इस तरह यह मेरे लिए काम करता है।
कुंसविक.देव 1

42

मुझे इस सवाल पर यकीन नहीं है, इसलिए यहां दो जवाब दिए गए हैं:

यदि आप अपने भंडार को स्थानांतरित करना चाहते हैं:

बस संपूर्ण रिपॉजिटरी (इसकी .gitनिर्देशिका के साथ ) की प्रतिलिपि बनाएँ ।

.gitसंरचना में कोई पूर्ण पथ नहीं है और इसे रोकने के लिए कुछ भी स्थानांतरित नहीं किया जाता है, इसलिए आपके पास इस कदम के बाद कुछ भी नहीं है। जीथब (लिंक इन .git/config) के सभी लिंक पहले की तरह काम करेंगे।

यदि आप भंडार के अंदर फाइल ले जाना चाहते हैं:

बस फ़ाइलों को स्थानांतरित करें। फिर सूचीबद्ध बदलाव जोड़ें git status। अगला commitआवश्यक होगा। आपको यह जानकर खुशी होगी कि कोई फ़ाइल डुप्लिकेट नहीं होगी: फ़ाइल को git में ले जाना लगभग खर्चीला है।


1
लेकिन कैसे Windows के लिए GitHub स्थानीय रेपो को ट्रैक करता है? उस छोर पर कुछ विन्यास होना चाहिए।

@ user596075 यह .gitनिर्देशिका में है।
ऑरेंजडॉग

24

यदि आप उपयोग कर रहे हैं GitHub Desktop, तो बस निम्नलिखित चरण करें:

  1. GitHub Desktopअपने वर्तमान निर्देशिका पथ के लिए खुली फ़ाइलों के साथ बंद और अन्य सभी अनुप्रयोग।
  2. नई निर्देशिका स्थान के लिए ऊपर बताए अनुसार पूरी निर्देशिका को स्थानांतरित करें।
  3. ओपन GitHub Desktopऔर नीले रंग पर क्लिक करें (!) आइकन "भंडार नहीं मिला"। फिर एक डायलॉग खुलेगा और आपको एक "लोकेट ..." बटन दिखाई देगा, जो एक पॉपअप को खोलेगा, जिससे आप एक नए स्थान पर अपना रास्ता निर्देशित कर सकेंगे।

8

जबकि प्रश्न में Git for Windows शामिल है, विजुअल स्टूडियो टूल्स फॉर गिट (VS 2012 में विस्तार, वीएस 2013 में मूल समर्थन) के लिए खोज करने पर भी यह शीर्ष परिणाम प्रतीत होता है।

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

1) विजुअल स्टूडियो को बंद करें। 2) रेपो फ़ोल्डर (ओं) को नए स्थान पर ले जाएं। 3) विजुअल स्टूडियो खोलें। टीम एक्सप्लोरर खोलें। "कनेक्ट" दृश्य (शीर्ष पर प्लग आइकन) पर स्विच करें। 3a) यदि रिपॉजिट अभी भी पुराना रास्ता दिखाता है, तो रिफ्रेश को अपडेट करने के लिए क्लिक करें। 4) स्थानीय रूप से स्थानांतरित किए गए प्रस्तावों को अब " स्थानीय गिट रिपोजिटरीज़ " में नहीं दिखाया जाना चाहिए । 5) जोड़ें (नया या क्लोन नहीं ) पर क्लिक करें और जोड़ने के लिए रेपो फ़ोल्डर चुनें।

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

उदाहरण: E: \ Repos \ RepoA E: \ Repos \ RepoB E: \ Repos \ RepoC

Visual Studio टीम एक्सप्लोरर में [जोड़ें]> "E: \ Repos \"> [Add] तीनों को स्थानीय रिपोजिटरी में लौटाएगा।


6

यद्यपि पिछले उत्तर सभी को प्रतीत होते हैं कि आप केवल निर्देशिका को स्थानांतरित कर सकते हैं और .गित संरचना में कोई पूर्ण पथ नहीं हैं। मैंने सिग्विन से गिट का उपयोग करते समय इसे असत्य पाया।

जब मैंने अपने गिट रेपो को स्थानांतरित कर दिया (वास्तव में मैंने इसे एक बैकअप से बहाल किया था, लेकिन एक अलग ड्राइव के रूप में मेरी ड्राइव संरचना मेरे नए सिस्टम पर बदल गई)। मुझे एक त्रुटि संदेश मिला

fatal: Invalid path '<part_of_the_original_repo_path>': No such file or directory

मैंने grep का उपयोग यह जानने के लिए किया कि [। कोर] सेक्शन में मेरी .गित / कॉन्फिग फ़ाइल एक वर्कट्री वेरिएबल है जो मेरे git रेपो के निरपेक्ष पथ को रखती है। इसे बदलते हुए मेरे लिए समस्या तय हो गई।


4

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

  1. Visual Studio को बंद करें।

  2. कोड ले जाएँ (git फ़ोल्डर सहित, आदि)

  3. नए स्थान से समाधान फ़ाइल पर क्लिक करें

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


2

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

इसकी उम्मीद करने से किसी को मदद मिलेगी।


1

इसने मेरे लिए काम नहीं किया। मैंने एक रेपो को (जैसे) c: \ project1 \ से c: \ repo \ project1 \ में ले जाया और विंडोज़ के लिए Git में कोई बदलाव नहीं दिखा।

git स्टेटस एक एरर दिखाता है क्योंकि सबमॉडल्स में से एक "git रिपॉजिटरी नहीं है" और पुराने रास्ते को दिखाता है। उदाहरण के लिए (नाम आईपी की सुरक्षा के लिए बदले गए)

घातक: जीआईटी रिपॉजिटरी नहीं: C: /project1/.git/modules/subproject/subproject2 घातक: 'git स्टेटस - अपरमेल' सबमॉडल सबप्रोजेक्ट में विफल रहा

मुझे सबमोड्यूल्स में .git फ़ाइलों को मैन्युअल रूप से संपादित करना था। सबमॉड्यूल के रेपो (मुख्य रेपो के .git / मॉड्यूल निर्देशिका में) के लिए सही सापेक्ष पथ को इंगित करने के लिए।


1

भविष्य की रिपोर्ट: अप्रैल 2018

मैं अपने मैक और विंडोज पर अपने स्थानीय रिपॉजिट को सामान्य करना चाहता था, जो विभिन्न स्थानीय फ़ोल्डरों में समाप्त हो गया था।

विंडोज 10 क्लाइंट ने मुझे "कैनट फाइंड"> "लोकेट" रूटीन के माध्यम से जाना, थकाऊ लेकिन भयानक नहीं। भविष्य के उपयोग के लिए विकल्पों में स्थानीय "क्लोन पथ" को अपडेट करने की भी आवश्यकता है।

जब मैंने मैक फ़ोल्डर्स को समेकित किया, तो जीथब क्लाइंट ने उन्हें फिर से पाया - मुझे कुछ नहीं करना था!


0

हर बार जब आप उनमें से किसी एक को क्लोन करते हैं, तो अपनी रिपॉजिटरी के लिए डिफ़ॉल्ट स्थानीय पथ सेट करने के लिए, आपको केवल एक बार रिपॉजिटरी को क्लोन करना होगा और लोकलपथ: / अपना-अपना पथ सेट करना होगा, फिर गिटहब स्वचालित रूप से आपके डिफ़ॉल्ट के रूप में उस पथ का पता लगाएगा।


यह मूल प्रश्न का उत्तर नहीं देता है - शायद आप स्पष्ट कर सकते हैं कि आपका उत्तर पहले से स्वीकृत उत्तर में कुछ कैसे जोड़ता है? धन्यवाद।
rwp

0

एक अधिक Git आधारित दृष्टिकोण का उपयोग करके cdया कॉपी और पेस्ट करके अपनी स्थानीय प्रतिलिपि में परिवर्तन करना होगा और फिर इन परिवर्तनों को स्थानीय से दूरस्थ रिपॉजिटरी में धकेलना होगा।

यदि आप अपने स्थानीय रेपो की स्थिति की जाँच करने की कोशिश करते हैं, तो यह "अनियंत्रित परिवर्तन" दिखा सकता है, जो वास्तव में स्थानांतरित फाइलें हैं। इन परिवर्तनों को बलपूर्वक धकेलने के लिए, आपको इन फ़ाइलों / निर्देशिकाओं का उपयोग करके चरणबद्ध करना होगा

$ git add -A
#And commiting them
$ git commit -m "Relocating image demo files"
#And finally, push
$ git push -u local_repo -f HEAD:master

आशा करता हूँ की ये काम करेगा।

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