यह सामान्य है, हालांकि मैं इसके एक चरण से थोड़ा आश्चर्यचकित हूं।
जब आप बी से ए में स्विच करते हैं, तो गिट देखता है कि फ़ाइल को ए के संस्करण से मेल खाने के लिए अपडेट किया जाना चाहिए, और चुपचाप ऐसा करता है क्योंकि आपने इसे अनदेखा कर दिया है, कह रहा है कि जहां तक शाखा बी का संबंध है, फाइल ' कोई फर्क नहीं पड़ता। इसे ऐसा करना है - एकमात्र विकल्प शाखा ए को जांचने से इनकार करना है। (यह अस्वीकार कर दिया जाएगा कि फ़ाइल को अनदेखा नहीं किया गया था, "अनचाहे काम करने वाली पेड़ फ़ाइल" को विलय करके अधिलेखित किया जाएगा। "मैं वास्तव में हैरान हूं यह इस मामले में भी नहीं करता है। किसी के पास यह सुविधा है कि क्या यह सुविधा या बग है?)
जब आप वापस स्विच करते हैं, तो गिट देखता है कि शाखा बी में उस फ़ाइल नहीं है, और इसे हटा देता है। फिर, इसे यह करना है। आपके दिमाग को पढ़ने का कोई तरीका नहीं है और यह महसूस होता है कि उस मिनट को अनदेखा किया गया था जो एक मिनट पहले था जिसे आप वापस चाहते हैं - यह आपको केवल शाखा बी की सामग्री देता है, जो बताता है कि फ़ाइल मौजूद नहीं है।
जैसा कि ईवॉल टिप्पणियों में सुझाव देता है, अगर आप फ़ाइल को इन संक्रमणों से बचने के लिए चाहते हैं, तो इसे सभी शाखाओं द्वारा ट्रैक किया जाना चाहिए, या सभी शाखाओं में अनदेखा किया जाना चाहिए।
क्या कोई कारण है कि आप इसे सभी शाखाओं में अनदेखा नहीं कर सकते हैं या इसे सभी शाखाओं में शामिल नहीं कर सकते हैं? – ewall
यहां एक मजेदार समस्या है: यदि आप इसे शाखा ए पर .gitignore में जोड़ते हैं, और फिर उसे शाखा बी पर .gitignore में जोड़ना चाहते हैं, तो आपको शाखा बी चेकआउट करना होगा, जिस बिंदु पर फ़ाइल हटा दी गई है - इससे पहले कि आपके पास इसे अनदेखा करने का मौका। आपको अपनी कामकाजी निर्देशिका में शायद एक गंदे। गिटिनोरोर की आवश्यकता है, * फाइल को * जब आप हटाए गए फ़ाइल से बचने के लिए शाखाओं को स्विच करते हैं। – Armand
@ एलिसन जी: आपका मामला ज्यादा समझ में नहीं आता है। ऐसा होने के लिए, फ़ाइल को शाखा ए पर * ट्रैक किया जाना चाहिए * इसलिए आप इसे शाखा ए पर गिटिग्नोर में कभी नहीं जोड़ पाएंगे। फ़ाइल को हटा दिया जा रहा है क्योंकि इसे एक शाखा पर ट्रैक किया गया है, और यह अस्तित्व में नहीं है अन्य। इसे अनदेखा करने का एकमात्र प्रभाव आपको बी से ए में जाने की अनुमति देता है बिना चेतावनी के कि आप कार्य पेड़ में एक फ़ाइल को ओवरराइट कर रहे हैं। – Cascabel