HeadlinesBriefing favicon HeadlinesBriefing.com

आपके बारे में inconnue तीन Git अनदेखा फ़ाइलें

Hacker News •
×

मैं वर्षों से रिपॉजिटरी में अनट्रैक्ड फ़ाइलों को ले जा रहा था — मार्कडाउन नोट्स, एजेंट योजनाएँ — क्योंकि उन्हें .gitignore में जोड़ना गंदा लगता था। फिर Claude ने .git/info/exclude का उपयोग करने का सुझाव दिया, जिससे पता चला कि git वास्तव में तीन स्थानों से अनदेखा पैटर्न पढ़ता है, और सिंटैक्स समान है।

पहला, किसी भी निर्देशिका में .gitignore सभी को प्रभावित करता है जो रिपॉजिटरी क्लोन करते हैं और इसे कॉमिट करते हैं — बिल्ड आउटपुट जैसे target/ या __pycache__/ के लिए आदर्श। दूसरा, .git/info/exclude केवल आपके क्लोन को प्रभावित करता है, कभी कॉमिट नहीं होता, और .git के अंदर रहता है — इसलिए यह दुर्घटना-प्रूफ है। व्यक्तिगत स्क्रैच फ़ाइलों के लिए आदर्श। तीसरा, एक वैश्विक अपवर्जन फ़ाइल (डिफ़ॉल्ट ~/.config/git/ignore) आपकी मशीन पर हर रिपॉजिटरी पर लागू होती है — एडिटर के फालतू फ़ाइलों जैसे .idea/, .vscode/, .DS_Store के लिए बढ़िया।

उपयोग सरल है: पैटर्न को सीधे जोड़ें। प्रति रिपॉजिटरी: `echo 'plans/' >> .git/info/exclude`। लिंक्ड वर्कट्रीज़ के लिए, `$(git rev-parse --git-common-dir)/info/exclude` का उपयोग करें। वैश्विक रूप से: ~/.config/git/ignore बनाएं और पैटर्न जोड़ें, या `git config --global core.excludesFile ~/.gitignore_global` के साथ कस्टम पथ कॉन्फ़िगर करें। परिवर्तन `git status` में अनट्रैक्ड फ़ाइलों के लिए तुरंत प्रभावी हो जाते हैं।

ध्यान दें: Claude Code डिफ़ॉल्ट रूप से @-autocomplete से अनदेखी फ़ाइलों को बाहर रखता है, इसलिए जब आप plans को .git/info/exclude में जोड़ते हैं, तो वे पिकर से गायब हो जाते हैं।

मुख्य इकाइयाँ: कंपनियाँ: Claude, Claude Code | स्थान: ~/.config/git/ignore, $XDG_CONFIG_HOME/git/ignore

अक्सर पूछे जाने वाले प्रश्न: .gitignore और .git/info/exclude में क्या अंतर है?

.gitignore कॉमिट किया जाता है और रिपॉजिटरी क्लोन करने वाले हर किसी के साथ साझा किया जाता है, जबकि .git/info/exclude केवल आपके क्लोन के लिए स्थानीय है और इसे कभी भी अकस्मात कॉमिट नहीं किया जा सकता।