Git

2009-03-11 15 views
6

में तेजी से कई फाइलों को निकालने में असमर्थ मैं 777 फ़ाइलें जोGit

rm !(example) 

द्वारा Git की शाखा newFeature में थे हटा दिया मैं प्रतिबद्ध करने के लिए करना चाहते हैं। Git मुझसे पूछते हैं मैन्युअल रूप से

git rm file 

हटा दिया फ़ाइलों में से प्रत्येक को दूर करने के यह बहुत समय लेने के सभी 777 फ़ाइलें जो नाम एक जैसे नहीं हैं के लिए उपरोक्त आदेश लिखने के लिए होगा।

मैं अपनी गिट शाखा newFeature में इन 777 फ़ाइलों को कैसे हटा सकता हूं? मैं उन्हें बाद में उपयोग के लिए बैकअप के रूप में रखना चाहता हूं, लेकिन अब, मैं उनके बिना रहना चाहता हूं।

उत्तर

19
git add -u 

यह आपके द्वारा निकाली गई सभी फ़ाइलों को "गिट डिलीट" करेगा।

Git add से:

यू
--update

अपडेट ही नहीं Git फ़ाइलों को पहले से ही, के बारे में जानता हटाने के लिए प्रतिबद्ध है और चिह्नित करने से नष्ट कर दिया फ़ाइलों के लिए संशोधित सामग्री के मंचन।
यह प्रतिबद्धता बनाने के लिए तैयारी में "git commit -a" जैसा है, सिवाय इसके कि अद्यतन कमांड लाइन पर निर्दिष्ट पथ तक ही सीमित है।
यदि कोई पथ निर्दिष्ट नहीं है, तो वर्तमान निर्देशिका में सभी ट्रैक की गई फ़ाइलें और इसकी उपनिर्देशिका अद्यतन की जाती हैं।


"पाइपलाइन रास्ता" वास्तव में script one-line

for i in ` git st | grep deleted | awk ‘{print $3}’ ` ; do git rm $i; done 

किसी तरह का था या GnuWin32

git st | grep deleted | gawk "{print \"git rm \"$3}" | cmd 

लेकिन git add -u के साथ Windows बॉक्स के लिए मुख्य चीनी मिट्टी के बरतन जिस तरह से यह करना है।

+0

यह चालाक है। मुझे पता है कि बड़े पैमाने पर हटाना या गिट फाइलों को जोड़ना बुरा व्यवहार है, लेकिन जब आप इस कमांड के चारों ओर निर्देशिकाओं को ले जाते हैं तो महत्वपूर्ण है। महत्वपूर्ण। – davidahines

+0

लेकिन अभी भी बहुत उपयोगी है अगर आप जानते हैं कि आप क्या कर रहे हैं, उदाहरण के लिए git -u ऐप/संपत्ति/छवियां, एक बड़े पैमाने पर अद्यतन के लिए रेल परियोजनाओं में छवियों को हटा देता है – Alexis

1

मुझे पसंद है ... गिट स्थिति | grep हटा दिया | कट-एफ 2-डी: | xargs git rm