Git reference `refs / original / refs / heads / master` को कैसे हटाएं?


35

पीले गोल बॉक्स में यह क्या है?

स्क्रीनशॉट

मैंने कोशिश की है git branch -D, git tag -dलेकिन कोई भी सफल नहीं हुआ। तो इसे कैसे हटाएं?


1
कृपया अलेक्सी टेन के उत्तर को स्वीकार किए गए उत्तर को बदलने पर विचार करें, जो अत्यधिक उत्कीर्ण और सही ( git update-ref -d) है।
— जोनाथन रेनहार्ट

जवाबों:


11

यह एक टैग की तरह दिखता है, इसलिए निम्नलिखित कमांड को काम करना चाहिए:

git tag -d refs/original/refs/heads/master

लेकिन, चूंकि आपने कहा है कि यह नहीं है, आप केवल .gitनिर्देशिका से फ़ाइल को हटा सकते हैं । रिपॉजिटरी रूट से, इस तरह की कमांड मिलेगी:

rm .git/refs/tags/refs/original/refs/heads/master

यदि git-tagकमांड विफल हो गया, तो रास्ता थोड़ा अलग हो सकता है , इसलिए आप cd .git/refsपरीक्षण और त्रुटि के द्वारा अपमानजनक सिर को ढूंढना चाहते हैं । फ़ाइल को हटाने से आपके स्थानीय भंडार से संदर्भ हटा दिया जाएगा।


2
यह एक टैग नहीं है, हालांकि, मैंने इसे पाया है .git/refs/original/refs/heads/master।
— ग्यारह

1
git update-refGit के इंटर्न को मैन्युअल रूप से बदलने के बजाय उपयोग करें । एलेक्सी का जवाब देखें।
— 1

100

यह कमांड काम करना चाहिए

git update-ref -d refs/original/refs/heads/master

यह मेरे लिए एक ही समस्या के साथ काम किया। ध्यान दें कि संदर्भ .it / पैक-रेफ्स नामक फ़ाइल में संग्रहीत किया गया था। यदि आप उसे खोलते हैं तो आप SHA और स्ट्रिंग "refs / original / refs / heads / master" के साथ लाइन देख सकते हैं। आप शायद उस लाइन को हटा सकते हैं, लेकिन मैं इस कमांड का उपयोग सुरक्षित होने के लिए करूंगा।
— मैट एन

14
+1: आपको हमेशाgit update-ref -d केवल rmरेफरी के बजाय उपयोग करना चाहिए - बुरी चीजें अन्यथा हो सकती हैं।
— कैलम रोजर्स

3
इसका स्वीकृत उत्तर होना चाहिए
— डैनियल एल्डर

1
@CallumRogers क्यों?
— wahnfrieden

6
@wahnfrieden क्योंकि git पैक्ड रेफ का उपयोग कर सकता है और refsडायरेक्टरी में कोई संगत फाइल नहीं होगी
— अलेक्सई टेन

17

यह एक रेफ है। आम तौर पर द्वारा बनाया गया git filter-branch- यह एक संकेतक है जहां आपकी शाखा चलने से पहले थी git filter-branch।

और किसी भी रेफरी को हटाने के लिए , आप इसे स्थानीय रिपॉजिटरी में हमेशा कुछ भी नहीं धकेल सकते हैं:

git push . :refs/original/refs/heads/master

अन्य उत्तरों ने भी हटाने के अन्य तरीकों को अच्छी तरह से कवर किया।


1
स्थानीय रूप से संदर्भ को हटाने के लिए "पुशिंग नथिंग" बहुत चालाक है।
— 40XUserNotFound

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