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.