2012-08-09 20 views
8

अच्छी तरह से, मैंने अभी एक बड़ी गलती की है।गिट शाखा (कोई शाखा नहीं)

मैं एक परियोजना पर काम कर रहा हूं, और सोचा कि मैं मास्टर शाखा में काम कर रहा था।
तो मैं फ़ाइलों मैं जरूरत कहा, उन्हें प्रतिबद्ध और जब मैं मूल करने के लिए पुश करने के लिए करने की कोशिश की मैं

Everything is up to date 

मैं git branch इस्तेमाल किया गया और

मिला
* (no branch) 
* master 

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

* master 

उत्तर

12

यदि वे प्रतिबद्ध थे तो आपने परिवर्तनों को खो दिया नहीं है। आपके पास उनके लिए नामित संदर्भ नहीं है।

git reflog चलाने का प्रयास करें और शीर्ष के पास एक रेखा की तलाश करें जो checkout: moving from <commit-id> to master जैसी कुछ कहेंगी। तब आप उस <commit-id> अपने परिवर्तनों का निरीक्षण किया और उन्हें master शाखा को सौंप लाने के लिए एक अस्थायी शाखा बनाने के लिए उपयोग कर सकते हैं:

git checkout -b temp-branch <commit-id> 

आप इस शाखा विलय कर सकते हैं, या आवश्यक प्रतिबद्ध सिर्फ चेरी लेने।

मुझे उम्मीद है कि इससे मदद मिलती है।

+0

आप एक जीवन बचतकर्ता हैं। बहुत बहुत धन्यवाद :) –

+2

'गिट रीफ्लॉग 'एक lifesaver है :) – mamapitufo

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