2012-06-06 6 views
25

में अन-स्टेज्ड हटाए गए फ़ाइलों को साफ़ करने का आसान तरीका अक्सर मैं अपने आईडीई या कमांड लाइन (गिट एमवी के माध्यम से नहीं) के माध्यम से फ़ाइलों को एक गिट रिपोजिटरी में ले जाता हूं।गिट

एक परिणाम के रूप में मैं और कई unstaged फाइलों के साथ अंत पर हटाए जाने के लिए अपने अगले के रूप में नीचे के लिए प्रतिबद्ध:

# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# modified: test.html 
# 
# Changes not staged for commit: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# deleted: css/bootstrap.css 
# deleted: css/bootstrap.min.css 
# deleted: img/glyphicons-halflings-white.png 
# deleted: img/glyphicons-halflings.png 
# deleted: js/bootstrap.js 
# deleted: js/bootstrap.min.js 

मैं आम तौर पर की गई सभी फ़ाइलों का चयन और उनकी तरह के उत्पादन के लिए एक पाठ संपादक में संपादित करेंगे :

git rm css/bootstrap.css 
git rm css/bootstrap.min.css 
git rm img/glyphicons-halflings-white.png 
git rm img/glyphicons-halflings.png 
git rm js/bootstrap.js 
git rm js/bootstrap.min.js 

जो मैं फिर कंसोल में फेंक देता हूं।

क्या कॉपी/पेस्ट किए बिना ऐसा करने का कोई तरीका है?

उत्तर

36

अगर मैं आपके सवाल का सही ढंग से समझ, आप अपने हटाए गए प्रतिबद्ध करने के लिए चाहते हैं ... कि है, तो आप सभी फ़ाइलों को दिखाने के रूप में नष्ट की के लिए git rm के बराबर प्रदर्शन करना चाहते हैं। git clean यह नहीं करेगा।

आप git add -u चला सकते हैं:

केवल पहले से ही सूचकांक के बजाय काम कर पेड़ में फ़ाइलों पर नज़र रखी खिलाफ मेल खाते हैं। इसका मतलब यह है कि यह कभी भी नई फ़ाइलों को मंचित नहीं करेगा, लेकिन यह ट्रैक की गई फ़ाइलों की संशोधित नई सामग्री को चरणबद्ध करेगा और यह सूचकांक से फ़ाइलों को हटा देगा यदि संबंधित पेड़ में संबंधित फ़ाइलों को हटा दिया गया है।

यह हटाए गए फ़ाइलों सहित ट्रैक में सभी परिवर्तन उठाएगा। तो अगर आप इस के साथ शुरू करता है, तो:

# Changes not staged for commit: 
# (use "git add/rm <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# deleted: file2 
# deleted: file3 
# deleted: file4 
# deleted: file5 

रनिंग git add -u यह करने के लिए आप मिल जाएगा:

# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# deleted: file2 
# deleted: file3 
# deleted: file4 
# deleted: file5 

और इस बिंदु पर एक प्रतिबद्ध सही काम करेंगे।

+0

"Git -एक जोड़ें" होगा भी इस के लिए उपयुक्त हो सकता है? –

0

git add -u ट्रैक की गई फ़ाइलों की स्थिति अपडेट करेगा।

1

मैं आमतौर पर उन फ़ाइलों की प्रतिबद्धता करता हूं जिनमें मैंने परिवर्तन किए हैं।

मैं अनावश्यक फ़ाइलें नष्ट कर दिया है चाहते हैं, तो मैं इस के बाद निम्नलिखित करना होगा:

git commit -a -m 'deleted redundant files'