2012-07-24 13 views
19

उपेक्षा हालांकि शीर्षक पिछले प्रश्न के समान लगता है बनाने के लिए, मैं अपने सरल मामले को हल करने के लिए नहीं मिल सका: git commit -a ..... GIT मेरे परिवर्तन

  • :

    • मैं अपने शाखा 'एबीसीडी' करने के लिए प्रतिबद्ध git checkout 2387687326487
    • यहाँ मैं कुछ परिवर्तन जो केवल परीक्षण के लिए था, और मैं उन्हें
    • मैंने किया हूँ रखने के लिए नहीं करना चाहते, मैं प्रतिबद्ध मेरा नवीनतम करने के लिए वापस पाने के लिए चाहते हैं: तो फिर यात्रा करने के लिए पिछले एक तो प्रतिबद्ध फैसला किया (दोबारा: पुराने प्रतिबद्धता में किए गए परिवर्तनों को अनदेखा करना): अल्पविराम nd git checkout 'ABCD' त्रुटि देता है:

    Your local changes to the following files will be overwritten by checkout....please commit or stash...

    जबकि मैं प्रतिबद्ध या छिपाया या जो कुछ भी करने के लिए नहीं करना चाहती। मैं बस घर वापस जाना चाहता हूं :) कृपया मुझे क्या करना चाहिए?

  • +0

    अनदेखा करके, आपको लगता है कि "चेकआउट या शाखाओं को बदलते समय चुपचाप त्यागें।" क्या मैं आपका प्रश्न सही ढंग से पढ़ता हूं?स्रोत नियंत्रण दुनिया में मुझे अनदेखा करने का एक और विशेष अर्थ है; विशेष रूप से: "इस (और/या भविष्य) प्रतिबद्धताओं से अनदेखी फ़ाइलों को बाहर निकालें।" –

    उत्तर

    21

    आप यह सुनिश्चित करें कि आप अपने परिवर्तन रखने के लिए नहीं करना चाहते हैं, तो निम्न पंक्ति क्या करेंगे:

    git checkout -f 'ABCD' 
    

    विकल्प '-f' बल के लिए खड़ा है।

    9

    स्थानीय परिवर्तनों को पूर्ववत और से दूसरे राज्य में वापस जाने के लिए आप कर सकते हैं के लिए प्रतिबद्ध:

    git reset --hard 
    
    40

    का उपयोग सिर्फ

    git checkout . 
    

    (वर्तमान निर्देशिका में किसी भी अप्रतिबद्ध परिवर्तनों को निकाल देगा डॉट वर्तमान का मतलब निर्देशिका)।

    @GokulNK के जवाब में संपादित:

    • git stash:

      आप भविष्य में उपयोग के लिए उन परिवर्तनों को बनाए रखना चाहते हैं, तो आप 2 विकल्प हैं यह एक ढेर में उन परिवर्तनों को बचत होगी। आप बाद में git stash pop

    • git diff > changes.patch का उपयोग करके अपनी कार्यशील प्रति में परिवर्तन लागू कर सकते हैं: यह उन परिवर्तनों को फ़ाइल changes.patch में सहेज देगा। अगर आप उन्हें अपनी कामकाजी प्रतिलिपि पर लागू करना चाहते हैं तो आप ऐसा कर सकते हैं: git apply changes.patch
    +0

    सरल विकल्प! धन्यवाद – Dinaiz

    +0

    गिट चेकआउट करने से पहले उन परिवर्तनों को फ़ाइल में सहेजने का कोई तरीका है। –

    +0

    @GokulNK संपादित करें –

    7
    अलावा उल्लेख किया समाधान से

    आप परिवर्तनों

    git stash 
    

    चेकआउट अपनी शाखा

    git checkout 'ABCD' 
    

    और अंत में भी छिपा सकते कर सकते हैं, जब आप सुनिश्चित करें कि आप स्टैश से कुछ नहीं चाहिए रहे हैं परिवर्तन, और gitk या gitg के साथ दो बार जांच की है, स्टैश को फेंक दें:

    git stash drop 
    

    यह मेरा पसंदीदा तरीका है, क्योंकि यह सुरक्षित है।

    +0

    इस तरह से मैं इसे भी करता हूं, सुरक्षित तरीका – triswill227

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