2010-11-08 15 views
8

मैंने नया रिमोट गिट रिपोजिटरी बनाया और पहले से ही वहां कुछ धक्का दिया - पहले टेस्ट पुश और फिर स्थानीय से वास्तविक कोड पुश। मैं स्क्रैच से शुरू करना चाहता हूं, इसलिए मैं कुछ शाखाएं बना सकता हूं (मास्टर = कोड जारी करने के लिए तैयार, टेस्ट शाखा और डेवलपर्स के लिए शाखाएं) और उन्हें प्रति उपयोगकर्ता अलग-अलग अनुमतियां दें।क्या मैं रिमोट गिट भंडार खाली कर सकता हूं?

क्या मैं मौजूदा रिमोट रिपोजिटरी किसी भी तरह खाली कर सकता हूं? यह एक दूरस्थ गिट भंडार है जो लिनक्स और डेवलपर पर बैठता है और मैं विंडोज़ बॉक्स चलाता हूं।

+0

आपका प्रश्न थोड़ा अस्पष्ट है। "वहां कुछ धक्का दिया" क्या आपका मतलब है "सार्वजनिक रिमोट पर धक्का" यानी प्रकाशित? यदि ऐसा है, तो स्टीवन जू का जवाब उचित है (हालांकि आपको किसी भी ट्रैक की गई छिपी हुई फ़ाइलों को हटाने के लिए भी सावधान रहना चाहिए), और मैं सवाल करता हूं कि यह पूरी तरह से शुरू होने से बेहतर कैसे है। अन्य देवताओं को पुनर्जीवित नहीं करना पड़ेगा, लेकिन वे * सबकुछ * के साथ संघर्ष विलय करेंगे। मैं भी आपके अंतिम लक्ष्य के बारे में उलझन में हूं - आप शाखाएं बनाने और उन्हें डेवलपर्स को देने के बारे में पूछ रहे हैं ... यदि आप स्पष्ट करते हैं कि आप वास्तव में क्या मतलब रखते हैं, तो मैं शायद आपको अधिक सहायक उत्तर दे सकता हूं। – Cascabel

+0

@ जेफ्रोमी: मुझे पूरी तरह से शुरू करने में खुशी है (उस स्थिति में मैं वही भंडार नाम रखना चाहता हूं) या मौजूदा रिमोट रिपोजिटरी को खाली कर दूंगा। जो भी आसान है .... (मैंने अपना प्रश्न अपडेट किया) – Radek

+1

जब तक आपके पास फाइल सिस्टम पहुंच हो, तब तक आप निर्देशिका को मिटा सकते हैं और रेपो को फिर से बना सकते हैं। यह साफ है, और यह पूरी तरह से फिर से लिखने के अलावा पूरे देवताओं को पूरे टन को प्रभावित नहीं करेगा - किसी भी तरह से, उन्हें इसके बारे में पता होना होगा। – Cascabel

उत्तर

3

यदि आप रेपो गए हैं, तो बस इसे दूर ले जाएं! पूरी युक्त निर्देशिका हटाएं, और फिट होने पर इसे फिर से बनाएं।

हां, आप अपने अंत में एक नया रेपो भी बना सकते हैं, और रिमोट पर धक्का दे सकते हैं, और दूरस्थ रूप से सभी रेफरी हटा सकते हैं, और फिर सुनिश्चित करें कि git gc इसे चलाता है ... लेकिन इसमें समय और प्रयास लगता है । बस इसे मिटा दें।

+0

मेरे मामले में अच्छी तरह से काम किया। मुझे भविष्य में अन्य प्रश्नों से सामान की भी आवश्यकता हो सकती है .... – Radek

7

मुझे नहीं लगता कि यह बहुत ही उपयोगी है, लेकिन आपके द्वारा

rm .git/index .git/refs/heads/master 
echo "Hello!" > README 
git add README 
git commit -m "Exterminate! Exterminate!" 

मास्टर शाखा (सभी इतिहास भूल) को पुनः आरंभ करने और अपने दूरदराज के भंडार के लिए धक्का कर सकते हैं। आम तौर पर मैं बस एक खाली भंडार के साथ शुरू होता हूं, अपने रिमोट रिपोजिटरी को जोड़ता हूं और वहां से धक्का देता हूं।

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

संबंधित मुद्दे