2012-03-14 15 views
43

मेरे पास "style.css" नामक एक फ़ाइल है और गिट इसका पता नहीं लगा रहा है। अगर मैं इसे हटा देता हूं तो यह इसका पता नहीं लगाता है, लेकिन यह पता लगाता है कि क्या मैं फ़ाइल का नाम बदलता हूं। लेकिन मुझे उस नाम से इसकी ज़रूरत है। फ़ाइल .gitignore फ़ाइल में नहीं है। यह मुझे पागल बना रहा है!गिट एक फ़ाइल का पता नहीं लगा रहा है और इसमें नहीं है .gitignore

मैं कुछ मदद की सराहना करता हूं।

+0

गिट फ़ाइल में परिवर्तन नहीं मिला है जिसमें आपने पहले से ही इसे जोड़ा और प्रतिबद्ध किया है? या गिट का पता नहीं चला है कि फ़ाइल तब तक मौजूद है जब तक कि नाम बदल नहीं जाता है? – JoePasq

+0

पहले "गिट एड" का प्रयास करें। और फिर गिट स्थिति की जांच करें। अगर यह काम नहीं करता है, तो उस फ़ाइल निर्देशिका पर नेविगेट करें और "git add style.css" आज़माएं और एक और गिट स्थिति करें ... मुझे लगता है कि यह काम करेगा – Kristian

+0

फ़ाइल पहले ही जोड़ दी गई है और अतीत में प्रतिबद्ध है। लेकिन अभी परिवर्तनों का पता नहीं लगा है, भले ही मैं फ़ाइल – jonfer

उत्तर

9

फ़ाइल को .git/info/exclude में भी सूचीबद्ध किया जा सकता है, और यह देखने के लिए core.excludesfile विकल्प भी है।

+2

फ़ाइल में यह शामिल नहीं है। जीआईटी/जानकारी/बहिष्कार, गिट बग की तरह दिखता है ... – jonfer

+1

यह फ़ाइल में मौजूद निर्देशिका के ऊपर एक निर्देशिका में '.gitignore' फ़ाइल में भी हो सकता है (यदि यह सीधे भंडार रूट में नहीं है)। – Bombe

+2

उपरोक्त निर्देशिका में कोई .gitignore नहीं है। अब मैं सिस्टम में सभी .gitignore की तलाश कर रहा हूं, यह देखने के लिए कि क्या कोई है, मैंने – jonfer

5

गिटिनोरोर और अन्य स्थानों के अलावा अनदेखी पैटर्न की जांच करने के लिए, जांचें कि क्या आपने git update-index --assume-unchanged या git update-index --skip-worktree चलाया है। यदि ऐसा है, तो उन्हें अनसेट करें।

सुनिश्चित करें कि फ़ाइल के रेपो या पैरेंट में कुछ अजीबता नहीं है, जिसके तहत इसमें .git है।

अपने रेपो के क्लोन को करने का प्रयास करें और देखें कि क्या आप क्लोन में इसे देखते हैं। यदि ऐसा है, तो एक अलग मशीन/वीएम पर क्लोनिंग करने की कोशिश करें और जांचें। यह आपको कुछ गलत बताएगा कि क्या गलत हो रहा है।

+3

कोई कैसे जांच करेगा कि किसी ने इनमें से किसी एक आदेश को चलाया था या नहीं? –

+0

रन ['git ls-files -v '] (https://git-scm.com/docs/git-ls-files#git-ls-files--v) चलाएं। किसी भी लोअरकेस अक्षर का अर्थ है '- केस-अपरिवर्तित' लागू किया गया था; 'एस' का अर्थ है '--स्किप-वर्कट्री' लागू होता है, और 'एस' का मतलब दोनों लागू होते हैं। उन विकल्पों के लिए कोडबेस को grepping करने का प्रयास करें; मैंने उन स्क्रिप्ट के साथ रेपो पर काम किया है जो लोगों को कॉन्फ़िगरेशन फ़ाइलों के अपडेट में जांचने से रोकने के लिए '--assume-unchanged' चलाते हैं - बहुत परेशान। – jjlin

1

अतिरिक्त नोट, मैं इस समस्या में भाग गया और पाया कि फाइलों में बदलावों को करने के लिए जोड़ा नहीं जा रहा था। कुछ भी नहीं काम करने के लिए, सही परियोजना क्लिक करके, और कर को छोड़कर लग रहा था:

टीम> उन्नत> कोई अपरिवर्तित

3

मैं ने वही समस्या थी और इसे हल मान।

मैं जब git add आदेश चलाकर यह त्रुटि संदेश मिल गया था:

The following paths are ignored by one of your .gitignore files: 
<file> 
Use -f if you really want to add them. 
fatal: no files added 

तो मैं एक -f को git add आदेश जोड़कर मेरे लिए इस मुद्दे को हल करने के लिए Git के लिए मजबूर करने की कोशिश की। यह आमतौर पर .gitignore फ़ाइल को समायोजित करने के लिए गिट को मजबूर करेगा और फिर आप आवश्यक परिवर्तन या समस्याग्रस्त सेटिंग को देख पाएंगे।

मेरे विशेष मामले में .gitignore फ़ाइल के अंत में नई लाइन के साथ कुछ अजीब समस्या प्रतीत होती है। यहाँ कैसे Git समस्या तय:

-RemoteSystemsTempFiles 
+RemoteSystemsTempFiles 
\ No newline at end of file 
+0

मैंने कोशिश की और यह अनिवार्य रूप से मेरी समस्या का समाधान किया गया। हालांकि .gitignore फ़ाइल अपरिवर्तित छोड़ी गई थी।.gitignore के अंत में एक खाली रेखा है; मुझे आश्चर्य है कि क्या यह मुद्दा है? –

1

मैं भी इस मुद्दे में भाग गया और यह ग्रहण के लिए EGit प्लगइन के साथ एक समस्या हो रहा है। @ User1655478 की तरह पिछली टिप्पणी में कहा गया है, प्रोजेक्ट व्यू में प्रोजेक्ट का चयन करके, राइट क्लिक करने और "टीम> एडवांस्ड> अपरिवर्तित नहीं मानते" का चयन करना मेरे लिए समस्या तय करता है।

49

git check-ignore कमांड को अपनी गिटिनोर फ़ाइल (फ़ाइलों को बाहर करने) के लिए कमांड का उपयोग करें।

उदाहरण में:

$ git check-ignore -v config.php 
.gitignore:2:src config.php 

मिलान पैटर्न (यदि हो तो) प्रत्येक दिए गए पथ (लाइन सहित) के लिए के बारे में ऊपर उत्पादन विवरण।

तो शायद आपकी फ़ाइल एक्सटेंशन को अनदेखा नहीं किया गया है, लेकिन पूरी निर्देशिका।

लौटे प्रारूप है:

<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname> 

या उपयोगकर्ता और रेपो फ़ोल्डर में अपने .gitignore मुद्रित करने के लिए निम्न आदेश का उपयोग:

cat ~/.gitignore $(git rev-parse --show-toplevel)/.gitignore $(git rev-parse --show-toplevel)/.git/info/exclude 

वैकल्पिक रूप से git add -f जो अन्यथा नजरअंदाज कर दिया फ़ाइलों को जोड़ने की अनुमति देता है का उपयोग करें।

देखें: man gitignore, man git-check-ignore अधिक जानकारी के लिए।

+4

गिट एड-एफ। भंडार क्लोनिंग के बिना मेरे लिए तय किया। – Joe

+0

यह स्वीकार्य उत्तर होना चाहिए क्योंकि यह दिखाता है कि समस्या वास्तव में कहां है। –

+0

मेरे लिए यह निश्चित चीजें। मेरे पास एक पूरा फ़ोल्डर था जो कहीं भी गलत या कहीं भी जगह नहीं दिखा रहा था। फ़ाइलों में से एक पर गिट एड-एफ चलाना सब कुछ वापस जीवन में लाया। वास्तव में कभी-कभी अपनी रैंडम के साथ निराशाजनक जीआईटी प्राप्त करता है। धन्यवाद! – Jimbo

0

यदि आपकी परियोजना एक मेवेन प्रोजेक्ट है, तो जांचें कि आपने src फ़ाइल या लक्ष्य फ़ाइल को बदल दिया है या नहीं। मैंने हाल ही में यही किया है। फ़ाइल पथ संदर्भ बहुत लंबा होने के साथ, मैं पथ में 'लक्ष्य' को नोटिस करने में विफल रहा। पीड़ा के 1 घंटे के बाद सब अच्छा है।

2

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

इसके साथ-साथ .git फ़ोल्डर आया, जिसने गिट को फ़ोल्डर का पता लगाने से रोका।

तो मेरी फ़ोल्डर संरचना Git फ़ोल्डर 2 भले ही रेपो मूल परियोजना 1 के लिए स्थापित किया गया था पता नहीं लगा पा के साथ इस था,:

--Original Project 1 
    --.git 
    --Folder 1 
    --Folder 2 
     --.git 
     --Many other files/folders 

हटाया जा रहा है बच्चे .git फ़ोल्डर मेरी समस्या हल।

0

मुझे इसके लिए एक और कारण सामने आया। शायद बहुत दुर्लभ परिस्थितियों।

मैंने अपने पूरे भंडार को दूसरे फ़ोल्डर में कॉपी करने के लिए कॉपी किया। एक सबमिशन में किए गए परिवर्तन सिर्फ गिट द्वारा नहीं पहचाने जा रहे थे। आउटपुट फ़ोल्डर में .git फ़ाइल को मूल प्रतिलिपि में एक पूर्ण फ़ाइल संदर्भ निहित किया गया। जैसे ही मैंने अपनी कार्य प्रतिलिपि को इंगित करने के लिए फ़ाइल संदर्भ को सही किया, ठीक है।

3

मैं एक ही समस्या (components/dashboard/js-dev/training/index.js किसी कारण से ट्रैक न हो गया था) था, इसलिए मैं निम्नलिखित किया:

$ git check-ignore -v components/dashboard/js-dev/training/index.js 
$ (gave me nothing) 

$ git check-ignore -v components/dashboard/js-dev/training/ 
$ /Users/User/.config/git/ignore:23: components/dashboard/js-dev/training/ 

फिर भी, मैं यह काफी अजीब हो पाया है, तो फिर मैं एक दृष्टि डाली

(this is line 1) 
# Automatically created by GitHub for Mac 
# To make edits, delete these initial comments, or else your changes may be lost! 

*.DS_Store 
.AppleDouble 
.LSOverride 

# Icon must end with two \r 
Icon 

# Thumbnails 
._* 

# Files that might appear in the root of a volume 
.DocumentRevisions-V100 
.fseventsd 
.Spotlight-V100 
.TemporaryItems 
.Trashes 
.VolumeIcon.icns 
.com.apple.timemachine.donotpresent 

# Directories potentially created on remote AFP share 
.AppleDB 
.AppleDesktop 
Network Trash Folder 
Temporary Items 
.apdisk 

और यह पता चला है कि लाइन 23 वास्तव में .com.apple.timemachine.donotpresent और # Directories potentially created on remote AFP share के बीच एक, दूसरे शब्दों में है, यह एक पूरी तरह से खाली लाइन था: इस फाइल, /Users/User/.config/git/ignore, और कम से इस यह कैसा लग रहा है!

# Automatically created by GitHub for Mac 
# To make edits, delete these initial comments, or else your changes may be lost! 
*.DS_Store 
.AppleDouble 
.LSOverride 
# Icon must end with two \r 
Icon 
# Thumbnails 
._* 
# Files that might appear in the root of a volume 
.DocumentRevisions-V100 
.fseventsd 
.Spotlight-V100 
.TemporaryItems 
.Trashes 
.VolumeIcon.icns 
.com.apple.timemachine.donotpresent 
# Directories potentially created on remote AFP share 
.AppleDB 
.AppleDesktop 
Network Trash Folder 
Temporary Items 
.apdisk 

मैं git status चलाने के लिए, और मुझे लगता है कि यह अब components/dashboard/js-dev/training/ उठा रहा है नोटिस:

मैं तो मेरी फाइल इस तरह दिख रही सभी अतिरिक्त नई-पंक्तियों को हटाने की कोशिश की। मैं git add components/dashboard/js-dev/training/ चलाता हूं, और सभी ठीक काम करता है।

आशा है कि यह किसी की मदद करे - इस मुद्दे ने मुझे अनावश्यक रूप से लंबे समय तक अटक गया।

0

कुछ कारणों से कुछ खाली फ़ोल्डर जोड़ना चाहते हैं यदि फ़ोल्डर की सामग्री खाली है, तो गिट का उल्लेख करने का कोई कारण नहीं है।

एक सम्मेलन कहता है कि आप इसे .keep फ़ाइल जोड़ना चाहेंगे। जो कि किसी भी अन्य फाइल भी हो सकता है।

see यहाँ या here

0

छोड़ने GitHub एप्लिकेशन मेरे लिए काम किया।

लक्षण: मेरा रेपो Google फ़ाइल स्ट्रीम पर है। git status चलाते समय मैं केवल संशोधित फ़ाइलों को देख सकता था लेकिन गिटहब ऐप ने सभी बदलाव दिखाए।

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