2011-01-06 12 views
26

में नहीं दिखाया फ़ाइलें मैं के साथ निम्न फ़ोल्डर संरचना एक परियोजना है। इसके अलावा मेरे पास base_fldr के अंदर कुछ फ़ोल्डर्स हैं जिन्हें sub_fldr1 और sub_fldr2 कहा जाता है। इन उप फ़ोल्डर्स में कुछ फाइलें भी होती हैं।ट्रैक न किए गए Git स्थिति

यदि मैं अपने base_fldr या base_fldr \ sub_fldr \ के अंदर किसी भी फाइल को संशोधित करता हूं तो गिट स्थिति उन्हें संशोधित के रूप में दिखाती है। अगर मैं base_fldr में एक नई फ़ाइल जोड़ता हूं, तो गिट स्थिति इसे अनचाहे फ़ाइल के रूप में दिखाएगी।

मेरी समस्या यह है कि अगर मैं base_fldr \ sub_fldr \ के अंदर एक नई फ़ाइल जोड़ता हूं तो गिट स्थिति फ़ाइल को अनचाहे के रूप में नहीं दिखाती है। यह फ़ाइल के बारे में कोई जानकारी भी नहीं देगा।

फ़ाइल या उसका एक्सटेंशन मेरी .gitignore सूची में नहीं है। इसके अलावा मैंने गिट को sub_fldr \ file_name जोड़ने का प्रयास किया लेकिन न तो यह एक त्रुटि दे दी और न ही यह फ़ाइल को इंडेक्स में जोड़ता है।

कोई विचार यहां क्या हो रहा है? धन्यवाद!

+3

यदि आप 'git status -u' –

+1

चलाते हैं तो फ़ाइल दिखाती है नहीं, ऐसा नहीं हुआ। गिट स्टेटस-u मेरे बेस_फल्डर के अंदर नई गयी फाइलें दिखा रहा है लेकिन base_fldr \ sub_fldr के अंदर नहीं। – kriver

उत्तर

20

मुझे पता चला कि क्या गलत हो रहा था। मूल रूप से मेरी .gitignore फ़ाइल में पहली पंक्ति "* /" है। इससे गिट स्टेटस कमांड द्वारा उप-निर्देशिका में उपरोक्त किसी भी फ़ाइल को अनदेखा किया जा सकता है। लेकिन मजाकिया बात यह थी कि अगर मैं उप फ़ोल्डर में किसी भी फाइल को संशोधित करता हूं, तो गिट स्थिति सही ढंग से उन्हें संशोधित के रूप में दिखाती है क्योंकि फाइल पहले ही गिट रिपोजिटरी में है, लेकिन उप फ़ोल्डर में नई फाइलों को अनदेखा कर रही थी।

मैंने उप-फ़ोल्डरों में परिवर्तनों को अनदेखा नहीं करने के लिए .gitignore फ़ाइल में लाइन को हटाकर मेरी समस्या को ठीक किया, फिर इंडेक्स में नई फाइलें जोड़ दीं और फिर फिर से .gitignore में लाइन को वापस जोड़ा ताकि यह किसी भी जेनरेट की गई फ़ाइलों को अनदेखा कर दे सबफ़ोल्डर्स।

सभी प्रतिक्रियाओं के लिए धन्यवाद।

+3

वही बात मेरे साथ हुई और मुझे अंत में एहसास हुआ कि मैं वास्तव में पहले से ही किसी भी कारण से पहले .gitignore फ़ाइल में बनाए गए फ़ोल्डर नाम को जोड़ दूंगा! लेकिन इस जवाब के लिए +1 मुझे इसे जांचने के लिए ;-) ... और -1 मेरे लिए StackOverflow को खोजने के लिए पहले की जांच करने से पहले – PandaWood

8

क्या आपके पास .git उपनिर्देशिका है sub_fldr निर्देशिका के अंदर? गिट सोच सकता है कि आप submodules का उपयोग करने का प्रयास कर रहे हैं।

+0

sub_fldr – kriver

+0

के अंदर कोई .git निर्देशिका नहीं है, यदि आपके पास नीचे दिए गए .git उपनिर्देशिका के पास पैरेंट – quantumpotato

+0

में दिखाई देना चाहिए, तो सुनिश्चित करें कि आपके पास "सभी फ़ाइलें दिखाएं" सेट है - जो मुझे कुछ घंटों तक व्यस्त रखता है। मेरे पास ".git" उपनिर्देशिका थी, मैं इसे नहीं देख सका। लेकिन गिट ... – TobyEvans

13

यदि आप चलाने के लिए, क्योंकि आपके base_fldr \ sub_fldr \ निर्देशिका ट्रैक न किए गए है की संभावना है:

git add base_fldr\sub_fldr\ 

अपने काम की नकल जड़ के भीतर से, यह अपने आप उस निर्देशिका के रूप में भीतर निर्देशिका और अन्य फ़ाइलों और निर्देशिका जोड़ देगा कुंआ।

डिफ़ॉल्ट रूप से, गिट उन निर्देशिकाओं के भीतर फ़ाइलों को नहीं दिखाएगा जो अनचाहे हैं।

+0

ओपी कहता है कि 'sub_fldr' * के अंदर संशोधित फाइलें * गिट स्थिति' में दिखायी गयी हैं। –

+0

मेरा base_fldr \ sub_fldr \ ट्रैक किया गया है। दरअसल यदि मैं एक मौजूदा फ़ाइल गिट स्थिति को संशोधित करता हूं तो संशोधित रूप से sub_fldr के अंदर फ़ाइल को दिखाता है। – kriver

2

इस प्रश्न में वर्णित व्यवहार का एक अन्य कारण यहां है (गिट स्थिति अनचाहे फाइल सूची में उप-फ़ोल्डर में एक अनचाहे फ़ाइल शामिल नहीं है)। अगर फ़ाइल को उप-फ़ोल्डर में .gitignore फ़ाइल की वजह से अनचाहे किया गया है तो फ़ाइल गिट स्थिति अनचाहे फ़ाइलों की सूची में शामिल नहीं की जाएगी।

14

मैं लापता ट्रैक की गई फ़ाइलों के साथ एक समान समस्या में भाग गया।

git update-index --assume-unchanged my-tracked-file-that-is-awol 

मैं इस विचार को खत्म करने समाप्त हो गया है, लेकिन आदेश पूर्ववत करने के लिए भूल गया, ताकि बाद में परिवर्तन: तरीके लगातार आकस्मिक प्रतिबद्ध से बचने के लिए बिना ट्रैक किए गए फ़ाइलों की स्थानीय स्तर पर संशोधित संस्करण का प्रबंधन करने के साथ प्रयोग करते हैं, मैं निम्नलिखित भाग गया इस और अन्य --assume-अपरिवर्तित फ़ाइलों को पूरी तरह से अनदेखा कर रहे थे से:

git status -u --ignored 

यह मुझे कुछ समय लिया यह पता लगाने की क्या चल रहा था, लेकिन मैं बस के साथ आदेश को उल्टा करने के लिए किया था:

git update-index --no-assume-unchanged my-tracked-file-that-is-awol 
संबंधित मुद्दे