मैंने अभी किया
git commit -m "blah"
फिर मैंने कुछ फाइलें जोड़ीं, मैं कैसे रोलबैक करूं और हटा दूं कि मेरी वर्तमान फाइलों में क्या है जो अभी तक जोड़ा / प्रतिबद्ध नहीं है?
मैंने अभी किया
git commit -m "blah"
फिर मैंने कुछ फाइलें जोड़ीं, मैं कैसे रोलबैक करूं और हटा दूं कि मेरी वर्तमान फाइलों में क्या है जो अभी तक जोड़ा / प्रतिबद्ध नहीं है?
जवाबों:
कैविट एम्प्टर - विनाशकारी आगे की आज्ञा।
शमन - git reflog जरूरत पड़ने पर आपको बचा सकता है।
1) पूर्ववत स्थानीय फाइल परिवर्तन और रखने अपने पिछले प्रतिबद्ध
git reset --hard
2) पूर्ववत स्थानीय फाइल परिवर्तन और निकालें अपने पिछले प्रतिबद्ध
git reset --hard HEAD^
3) रखने स्थानीय फाइल परिवर्तन और निकालें अपने पिछले प्रतिबद्ध
git reset --soft HEAD^
यदि आप नई जोड़ी गई सामग्री और फ़ाइलों को हटाना चाहते हैं, जो पहले से ही मंचित हैं (इसलिए अनुक्रमणिका में जोड़ा गया) तो आप उपयोग करते हैं:
git reset --hard
यदि आप अपनी नवीनतम कमिट को भी हटाना चाहते हैं (संदेश "ब्लाह" के साथ है) तो उपयोग करने के लिए बेहतर है:
git reset --hard HEAD^
अनट्रैक की गई फ़ाइलों को हटाने के लिए (इसलिए नई फ़ाइलों को अभी तक इंडेक्स में नहीं जोड़ा गया है) और फ़ोल्डर्स का उपयोग करें:
git clean --force -d
git reset --hard काम करने वाली निर्देशिका को अंतिम प्रतिबद्ध करने और नई / परिवर्तित फ़ाइलों को हटाने के लिए मजबूर करेगा।
आप git revert HEAD^अगले-से-अंतिम प्रतिबद्ध पर वापस जाने के लिए उपयोग करके एक कमिट वापस कर सकते हैं। आप HEAD ^ के बजाय आईडी का उपयोग करके वापस लौटने के लिए प्रतिबद्ध भी निर्दिष्ट कर सकते हैं
यदि आप अंतिम प्रतिबद्ध उपयोग को केवल अनसुना करना चाहते हैं:
git reset HEAD~
मेरे लिए आकर्षण की तरह काम करते हैं।
यूएनडीओ स्थानीय फ़ाइल में बदलाव का एक आसान तरीका है, क्योंकि अंतिम प्रतिबद्धता उन्हें एक नई शाखा में रखना है:
git branch changes
git checkout changes
git add .
git commit
यह नई शाखा में परिवर्तन छोड़ देता है। इसे अंतिम शाखा में वापस लाने के लिए मूल शाखा पर लौटें:
git checkout master
नई शाखा मूल शाखा को गड़बड़ाने के जोखिम के बिना परिवर्तनों को वापस करने के लिए विभिन्न तरीकों का अभ्यास करने के लिए एक अच्छी जगह है।