2011-11-13 6 views
5

मैंने अपने स्थानीय भंडार को गिटहब में धक्का दिया। मेरे कोड को करने की प्रक्रिया में, मैं .gitignore फ़ाइल बनाना भूल गया। नतीजतन, मैंने प्रतिबद्ध किया है और बाद में कुछ फ़ोल्डरों और फ़ाइलों को धक्का दिया है जिन्हें मैं गिटहब (या मेरे स्थानीय भंडार में, उस मामले के लिए) पर नहीं चाहता था।बाद में गिटिनोरोर कैसे लागू करें?

मैं अब .gitignore कैसे लागू कर सकता हूं, ताकि मैं कुछ अवांछित फ़ोल्डरों और फ़ाइलों को आगे जा सकूं?

उत्तर

6

आप git rm <unnecessary file and folder names> तो उन्हें अपने .gitignore फाइल करने के लिए जोड़ सकते हैं, जो उन लोगों से है कि प्रतिबद्ध आगे निकाल देंगे एक .gitignore फ़ाइल जोड़ें। मुद्दा यह है कि वे इतिहास में तब तक बने रहेंगे जब तक आप पहले की गतिविधियों को बदल नहीं देते। यदि उन फ़ाइलों में कोई संवेदनशील डेटा नहीं है, तो मैं कहूंगा कि इतिहास को छोड़ दें। यदि आपको अपने भंडार इतिहास से संवेदनशील डेटा को हटाने की आवश्यकता है, तो GitHub's help article on the subject

2

स्मृति से आपको इसे हटाना होगा और इसे फिर से जोड़ना होगा। गिट अनदेखा तब प्रभावी होगा।

Answered already?

2

यह आपका निजी रेपो है और आप अभी तक यह प्रकाशित नहीं किया है, का उपयोग filter-branch इतिहास संपादित करने के लिए तो: तो फिर

git filter-branch --index-filter ' 
    git rm -r --cached --ignore-unmatched bin; 
' --all 

, जोड़ें/अपने .gitignore फ़ाइल को संपादित:

>> .gitignore echo bin 
git add .gitignore 
git commit -m 'add gitignore files' 

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

git rm -r bin 
# add .gitignore 
git commit -m 'remove and ignore bin folder' 
+0

गिटिनोरोर का उपयोग कर सभी फ़ोल्डरों/फ़ाइलों को स्वचालित रूप से हटाने का एक दृष्टिकोण है? क्या मुझे वास्तव में प्रत्येक फ़ाइल/फ़ोल्डर के लिए अपने आदेशों को निष्पादित करना है जिसे मैं हटाना चाहता हूं? – Rookian

+0

आप बस 'git rm -r --cached --ignore-unmatched फ़ाइल 1 फ़ोल्डर 1 फ़ाइल 2 फ़ोल्डर 2 फ़ोल्डर 3 * बाक परीक्षण- * 'कर सकते हैं। बस सुनिश्चित करें कि आप इतिहास पुनर्लेखन के प्रभावों को समझते हैं, यदि आप 'फ़िल्टर-शाखा' मार्ग पर जाते हैं! – knittl

3

सबसे पहले, bin निर्देशिका को रेपो में दुर्घटनाग्रस्त में हटाएं। आप यहां देख सकते हैं: http://help.github.com/remove-sensitive-data/

फिर .gitignore जोड़ें और प्रतिबद्ध करें, और फिर जिथब को दबाएं।

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