मैं git रिपॉजिटरी से बिन और obj फ़ोल्डरों को कैसे अनदेखा कर सकता हूं?


111

मैं अपने गिट रिपॉजिटरी से बिन और obj फ़ोल्डरों को अनदेखा करना चाहता हूं। जैसा कि मुझे पता चला है, इसे .gitignore में करने का कोई आसान तरीका नहीं है। तो, क्या कोई और तरीका है? विजुअल स्टूडियो में स्वच्छ समाधान का उपयोग करना?


यह मेरे लिए ठीक काम करता है - मैं अपनी .gitignore फ़ाइल में अलग-अलग लाइनों के रूप में 'बिन' और 'ओब्ज' शब्द जोड़ता हूं
टिम रॉबिन्सन

1
और अगर समाधान में एक ही नहीं, कई परियोजनाएं शामिल हैं?
chester89

क्या आप ठीक वही पोस्ट कर सकते हैं जो आप आजमा रहे हैं और जो काम नहीं कर रहा है। objऔर binएक शीर्ष स्तर .gitignore में कहा जाता है सब कुछ अनदेखा कर देना चाहिए objया binसभी निचले स्तर पर।
सीबी बेली

2
मेरी समझ यह है कि .itignignore की सामग्री हर उपनिर्देशिका में लागू होती है, इसलिए सादे 'बिन' और 'obj' हर जगह काम करते हैं। जवाब में मेरा .gitignore पोस्ट करेंगे।
टिम रॉबिन्सन

जवाबों:


164

मुझे यकीन नहीं है कि यह आपके लिए काम क्यों नहीं करता है। यदि यह मदद करता है, तो मेरे विज़ुअल स्टूडियो / गिट प्रोजेक्ट्स में से एक विशिष्ट .gitignore फ़ाइल है:

*.suo
*.user
_ReSharper.*
bin
obj
packages

4
मैं यह भी जोड़ता हूं packagesकि आप उन्हें आसानी से NuGet
Michal Ciechan

1
यह तब काम नहीं करता है जब आप पहली बार सभी फ़ाइलों को करते हैं और फिर। repignore फ़ाइल को अपने रेपो में जोड़ते हैं और इसे करते हैं। नई उपेक्षित फ़ाइलें अभी भी संशोधित के रूप में दिखाई जाएंगी (यदि आप पुनर्निर्माण करते हैं, उदाहरण के लिए)।
vlad2135

7
मैंने हाल ही में यहां सुझाई गई .gitignore फ़ाइल का उपयोग किया है: github.com/github/gitignore/blob/master/VisualStudio.gitignore बड़ी सफलता के साथ।
BigTFromAZ

1
@BigTFromAZ आपको एक उत्तर के रूप में इसे जोड़ना चाहिए, यह स्वीकृत की तुलना में बहुत बेहतर है!
एवरोहोम यिसरेल

61

बस gitignore में एक प्रविष्टि बनाने से फाइलों को अनदेखा नहीं किया जा सकता है, आपको इसे करने की आवश्यकता हो सकती है। मैंने निम्नलिखित विधि का उपयोग किया और मेरे लिए काम किया

git rm -r --cached .

git add .

फिर

git commit -am "Remove ignored files"

हालाँकि, यह मेरे स्क्रिप्ट फ़ोल्डर को अनदेखा करता है जिसे मैंने बाद में रिपॉजिटरी में शामिल किया था।


यह ठीक काम करता है। लेकिन Vscode संशोधित कोड नहीं ढूंढ सका। मैंने खुद को कुछ बदल दिया और मैंने इसे मूल गुरु के लिए धकेल दिया। फिर काम हुआ। :)
डेंट्रेक्स

मेरे पास कई परियोजनाओं के साथ एक समाधान है और किसी कारण के लिए गिट जोड़ते हैं। कभी पूरा नहीं होता।
चकी

महान अरविंद !, एक नौसिखिया डेवलपर ने सभी बिन / और obj / को हमारी कार्य शाखा में विलय कर दिया (नीतियों को छोड़कर ... पता नहीं कैसे!) और यह उन सभी फाइलों को रेपो से हटाने का तरीका था।
इक्विंटास

नौसिखिया मुझे (कम से कम), मैंने खुद से ऐसा किया। कभी rm के बारे में नहीं सोचा और फिर वापस जोड़ दिया क्योंकि मुझे समझ नहीं आया कि gm rm केवल इंडेक्स से आइटम को हटाता है न कि डिस्क से। इसलिए अगर मैं सही तरीके से समझूं, तो आपके पहले दो कमांड्स इंडेक्स से सबकुछ हटाकर और सब कुछ वापस जोड़कर, .ignignore फिल्टर लगाकर इंडेक्स का पुनर्निर्माण करते हैं। फिर कमेटी रिपॉजिटरी में इसे बनाती है। बहुत चालाक।
BigTFromAZ

महान! इसने मेरे लिए पूरी तरह से अच्छा काम किया। सभी .vs, obj, बिन और अन्य अनदेखा फ़ाइलें।
स्टेनली ओक्पालालोसा

9

यदि आप विजुअल स्टूडियो का उपयोग कर रहे हैं तो ऐसा करने का एक सरल तरीका है।

  1. टीम एक्सप्लोरर खोलें
  2. सेटिंग्स पर क्लिक करें
  3. रिपोजिटरी सेटिंग्स
  4. इग्नोर एंड अटैचमेंट फाइल सेक्शन के तहत इग्नोर फाइल के पास ऐड पर क्लिक करें।

यह एक डिफ़ॉल्ट .gitignore फ़ाइल बनाएगा, जो अधिकांश सामान्य फ़ोल्डरों और फ़ाइलों को अनदेखा करेगा, जिनका उपयोग फ्रेमवर्क / भाषा द्वारा किया जाएगा।

यहां छवि विवरण दर्ज करें


3
  • Windows Explorer में binऔर objफ़ोल्डरों का पता लगाएँ
  • TortoiseGit> हटाएँ पर क्लिक करें और सूची> बिन को अनदेखा करने के लिए जोड़ें
  • राइट-क्लिक करें TortoiseGit> हटाएं और सूची को अनदेखा करने के लिए जोड़ें> obj

1
यह पूरी तरह से काम करता है। धन्यवाद @ डेंसिस वेसेल्स
बिस्वजीत पांडे

2

यदि आप अपनी सभी परियोजनाओं में बिन और obj को अनदेखा करना चाहते हैं तो आप ( gitignore man पेज से ) उपयोग कर सकते हैं

कॉन्फ़िगरेशन चर core.excludesfile द्वारा निर्दिष्ट फ़ाइल से पढ़े गए पैटर्न।

core.excludesfile को एक कॉन्फ़िगर फ़ाइल में सेट किया जा सकता है, जो कि Unix में ~ / .itconfig है - मुझे नहीं पता कि यह Windows के अंतर्गत कहां है


अच्छी जानकारी है, लेकिन वह इस समाधान में अपने सभी दृश्य स्टूडियो परियोजनाओं का मतलब मशीन पर सभी परियोजनाओं नहीं है।
एहतेमाम

2
हालांकि सबसे अधिक संभावना है कि वह किसी भी समाधान में binऔर objफ़ोल्डरों को शुरू करने में दिलचस्पी नहीं लेगा । :)
मेमोरियल

1

यदि आपने पहले बिन और obj फ़ोल्डर्स को कमिट किया है, तो उन्हें .gitignore में जोड़कर स्वचालित रूप से उन्हें हटा नहीं देगा। आपको उदाहरण के लिए इन फ़ोल्डरों को हटाने git rm -rf objया git rm -rf yourProject/obj फिर हटाने के लिए प्रतिबद्ध करने की आवश्यकता है


0

यदि आप स्रोत ट्री के माध्यम से प्रयास करते हैं और फिर भी अनदेखी फ़ाइलें नहीं आ रही हैं, तो टूल पर जाएँ -> विकल्प-> Git और फिर .gitignore का स्थान। यहां छवि विवरण दर्ज करें


0

मेरे मामले में, बिन और obj फ़ोल्डर्स को रूट फ़ोल्डर से रूट फ़ोल्डर के तहत नेस्टेड किया गया था। इसलिए, मुझे नीचे की तरह जोड़ना होगा:

[PROJECT_FOLDER_NAME] / बिन
[PROJECT_FOLDER_NAME] / obj

PROJECT_FOLDER_NAME को अपने प्रोजेक्ट फ़ोल्डर नाम से बदलें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.