सवाल वर्तमान गिट काम करने वाले पेड़ से स्थानीय (अनचाहे) फ़ाइलों को कैसे हटाएं?


आप अपने वर्तमान काम करने वाले पेड़ से अनचाहे स्थानीय फ़ाइलों को कैसे हटा सकते हैं?


5796
2017-09-14 09:06


मूल


यह इंटरैक्टिव गिट धोखा शीट ndpsoftware.com/git-cheatsheet.html गिट वर्कस्पेस दिखाता है (Google आपको "वर्कस्पेस" के साथ "वर्कस्पेस" के साथ बेहतर परिणाम देता है)। - qneill
नोट: यदि आप केवल निकालना चाहते हैं कुछ अनचाहे फाइलें, लेकिन इनमें से सभी नहीं, git clean अब एक है इंटरैक्टिव मोड! देख इस अन्य प्रश्न का मेरा जवाब: गिट 1.8.4+ - VonC
ध्यान दें कि आप गिट शाखा से फ़ाइलों को नहीं हटा रहे हैं, क्योंकि शाखा एक प्रतिबद्धता का संदर्भ है और इसलिए इसमें अनचाहे फ़ाइलें नहीं हैं। वे केवल कार्यशील निर्देशिका में मौजूद हैं और शाखाओं के साथ कुछ लेना देना नहीं है। यह शायद शब्दावली स्पष्टीकरण है। - Pavel Šimerda
एक नया उत्तर पोस्ट करने से पहले, इस प्रश्न के लिए पहले से ही 25+ उत्तर हैं पर विचार करें। सुनिश्चित करें कि आपका उत्तर योगदान देता है जो मौजूदा उत्तरों में नहीं है - Sazzad Hissain Khan
अनियमित और गिट-रन गिट स्थिति के लिए उन नए लोगों की समझ के लिए स्पष्टीकरण के लिए और यदि यह फ़ाइल को अनचाहे के रूप में दिखाता है, और आप रेपो में उस फ़ाइल को नहीं चाहते हैं, तो आप बस अपने फाइल सिस्टम पर जा सकते हैं और इसे हटा सकते हैं या इसे स्थानांतरित कर सकते हैं । यह आपके स्थानीय रेपो या गिट के लिए कुछ भी बुरा नहीं करेगा। आप भी उपयोग कर सकते हैं git clean या नीचे दिए गए उत्तरों में कुछ भिन्नता, जिसमें केवल चुनिंदा फाइलों को हटाने के लिए इंटरैक्टिव संस्करण शामिल है, लेकिन इंटरैक्टिव मोड थकाऊ हो सकता है। आप जो कुछ भी करते हैं, सुनिश्चित करें कि आप क्या समझते हैं git clean हटा देंगे या उपयोग करेंगे --dry-run यह आपको कुछ भी हटाने के बिना बताना है। - LightCC


जवाब:


गिट दस्तावेज़ीकरण के अनुसार गिट साफ

काम करने वाले पेड़ से अनचाहे फ़ाइलों को हटा दें


चरण 1 यह दिखाने के लिए है कि इसका उपयोग करके क्या हटाया जाएगा -n विकल्प:

git clean -n

स्वच्छ कदम - सावधान रहें: यह फाइलों को हटा देगा:

git clean -f
  • निर्देशिका को हटाने के लिए, चलाएं git clean -f -d या git clean -fd
  • अनदेखी फ़ाइलों को हटाने के लिए, चलाएं git clean -f -X या git clean -fX
  • अनदेखा और अनदेखा फ़ाइलों को निकालने के लिए, चलाएं git clean -f -x या git clean -fx

ध्यान दें मामले में मामला अंतर X दो बाद के आदेशों के लिए।

अगर clean.requireForce आपकी कॉन्फ़िगरेशन में "सत्य" (डिफ़ॉल्ट) पर सेट है, किसी को निर्दिष्ट करने की आवश्यकता है -f अन्यथा वास्तव में कुछ भी नहीं होगा।

फिर से देखें git-clean अधिक जानकारी के लिए दस्तावेज़।

विकल्प

-f

--force

यदि गिट कॉन्फ़िगरेशन वेरिएबल clean.requireForce को गलत पर सेट नहीं किया गया है, तो गिट क्लीन को तब तक चलाने से इनकार कर दिया जाएगा जब तक -f, -n या -i।

-एक्स

.Gitignore (प्रति निर्देशिका) और $ GIT_DIR / जानकारी / बहिष्कार से पढ़े गए मानक अनदेखा नियमों का उपयोग न करें, लेकिन अभी भी विकल्पों के साथ दिए गए अनदेखा नियमों का उपयोग करें। यह बिल्ड उत्पादों सहित सभी अनचाहे फ़ाइलों को हटाने की अनुमति देता है। स्वच्छ निर्माण का परीक्षण करने के लिए एक प्राचीन कार्यशील निर्देशिका बनाने के लिए इसका उपयोग संभवतः गिट रीसेट के साथ किया जा सकता है।

-एक्स

गिट द्वारा अनदेखा केवल फाइलों को हटा दें। स्क्रैच से सबकुछ पुनर्निर्माण के लिए यह उपयोगी हो सकता है, लेकिन मैन्युअल रूप से बनाई गई फ़ाइलों को रखें।

-n

--पूर्वाभ्यास

वास्तव में कुछ भी नहीं हटाएं, बस दिखाएं कि क्या किया जाएगा।

-d

अनचाहे फ़ाइलों के अलावा अनचाहे निर्देशिका हटाएं। यदि एक अनचाहे निर्देशिका को एक अलग गिट भंडार द्वारा प्रबंधित किया जाता है, तो इसे डिफ़ॉल्ट रूप से हटाया नहीं जाता है। यदि आप वास्तव में ऐसी निर्देशिका को हटाना चाहते हैं तो -f विकल्प दो बार उपयोग करें।


7613
2018-05-26 20:59



git clean -f केवल उस निर्देशिका में काम करता है जहां इसे (और उपनिर्देशिका) कहा जाता है। अगर आप पूरी कामकाजी प्रतिलिपि को साफ करना चाहते हैं, तो आपको इसे अपनी मूल निर्देशिका में कॉल करना चाहिए। - Eduardo Bezerra
यह सभी फ़ाइलों को भी हटा रहा है .gitignore। मुझे केवल फाइल / फ़ोल्डर्स को हटाना होगा जो नए हैं और नहीं .gitignore में - Kostanos
@ कोस्टानोस यदि आप .gitignore में मौजूद फ़ाइलों को हटाना नहीं चाहते हैं, तो -x ध्वज प्रदान न करें। - Lo-Tan
git clean -f :/ ऐसा लगता है जैसे आपने रूट रेपो डीआईआर में इसे चलाया था। साथ ही बाद के उत्तरों को submodules के लिए लेखांकन भी देखें git clean -ffxd :/ - here
@ मिशेल गिट क्लीन-एक्सएफडी आपके फाइलों में वर्तमान में इंगित सभी फाइलों को भी हटा देगा और वे पुनर्प्राप्त करने योग्य नहीं हैं - thedanotto


उपयोग git clean -f -d सुनिश्चित करें कि निर्देशिका भी हटा दिए जाते हैं।

फिर आप जांच सकते हैं कि आपकी फाइलें वास्तव में चली गई हैं या नहीं git status


817
2017-12-30 20:12



जैसा कि पहले कहा गया था, इसे सूखने के लिए अच्छा है git clean -n -d - Ms01
वही करना है git clean -nd तथा git clean -fd। - Micer


मुझे आश्चर्य है कि किसी ने इससे पहले उल्लेख नहीं किया है:

git clean -i

वह खड़ा है इंटरैक्टिव और आपको हटाए जाने वाले चीज़ों का एक त्वरित अवलोकन मिलेगा जो आपको प्रभावित फ़ाइलों को शामिल / बहिष्कृत करने की संभावना प्रदान करता है। कुल मिलाकर, अनिवार्य चलने से अभी भी तेज़ --dry-run असली सफाई से पहले।

आपको एक में टॉस करना होगा -d यदि आप खाली फ़ोल्डर्स का ख्याल रखना भी चाहते हैं। अंत में, यह एक अच्छा उपनाम बनाता है:

git iclean

ऐसा कहा जा रहा है कि, इंटरैक्टिव कमांड का अतिरिक्त हाथ होल्डिंग अनुभवी उपयोगकर्ताओं के लिए थकाऊ हो सकता है। इन दिनों मैं बस पहले से ही उल्लेख किया है git clean -fd 


397
2017-09-14 09:09



मिला: त्रुटि: अज्ञात स्विच `i ' - pal4life
@ pal4life इसे 1.8.4 में जोड़ा गया था, तो आप गिट का पुराना संस्करण चला रहे हैं? github.com/git/git/blob/master/Documentation/RelNotes/1.8.4.txt - Mattias Backman
@ सिस्टामैटिक फ्रैंक, उपनाम का प्रयोग न करें, वे वास्तव में 1 व्यक्ति से अधिक पैमाने पर नहीं हैं .... - Pacerier


git-clean - काम करने वाले पेड़ से अनचाहे फ़ाइलों को हटा दें


387
2018-01-25 12:24





यदि अनचाहे निर्देशिका अपने स्वयं के एक गिट भंडार है (उदा। सबमिशन), तो आपको उपयोग करने की आवश्यकता है -f दो बार:

git clean -d -f -f


200
2018-06-03 12:16



बीटीडब्ल्यू, यह लिखा है प्रलेखन : गिट उप-निर्देशिका या फ़ाइल के साथ निर्देशिका को हटाने से इनकार कर देगा जब तक कि कोई दूसरा-एफ नहीं दिया जाता है। लेकिन फिर भी धन्यवाद! - Maxim Suslov


अनचाहे फ़ाइलों को हटाने के लिए सरल तरीका

सभी अनचाहे फ़ाइलों को हटाने के लिए, सरल   रास्ता है उन सभी को पहले जोड़ें तथा रेपो रीसेट करेंनीचे के अनुसार

git add --all
git reset --hard HEAD


145
2018-01-11 00:41



आप बदल सकते हैं git add --all द्वारा git add .। तो आप इसे ऑनलाइन में एक छोटे से तरीके से कर सकते हैं git add . && git reset --hard HEAD  (हो बहुत इस आदेश के साथ सावधान)। - RousseauAlexandre
इसका उपयोग क्यों करें git clean? - user2864740
इसलिये git clean स्पष्ट रूप से अनदेखा किया गया सब कुछ हटा देता है। यह सिर्फ मेरी हटा दी node_modules फ़ोल्डर। ऐसा करने से पहले अनदेखा लोगों को छोड़कर सभी फ़ाइलों को चरणबद्ध किया जाएगा, और फिर रीसेट करके उन्हें हटा दें। अनदेखा फाइलों को छुआ नहीं जाएगा। - Andreas
@Andreas यह मेरे लिए अनदेखा फाइलों को हटा नहीं देता है (गिट 2.14.1)। आपको दौड़ना चाहिए git clean -n वैसे भी असली हटाने (या उपयोग करने से पहले git clean -i)। - Qw3ry
git clean अगर आप या तो उपयोग करते हैं तो केवल फाइलों को अनदेखा कर दिया जाता है -x या -X विकल्प, अन्यथा यह सिर्फ अनचाहे फ़ाइलों को हटा देता है। - doubleDown


मुझे पसंद है git stash save -u क्योंकि आप उन सभी को पूर्ववत कर सकते हैं git stash pop

संपादित करें: इसके अलावा मुझे एक छेड़छाड़ में अनचाहे फ़ाइल दिखाने का एक तरीका मिला (उदा। git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986


118
2017-11-25 14:16



क्या आप स्टू पर -यू को समझा सकते हैं? मैं यह नहीं मानता कि यह गिट स्टैश सेव से अलग कैसे काम करता है। मैंने कोशिश की और यह काम किया। गिट डॉक्स पर देखा और इसे वहां भी नहीं मिला। - Winnemucca
-u के बराबर है --include-untracked। आप के साथ एक सहायता मिल सकती है git help stash। - hiroshi
@hiroshi धन्यवाद! एक दर्जन अलग-अलग लोगों से हर डर्न समाधान की कोशिश करने के बाद यह आखिरकार काम करता है ... whew! यहां तक ​​कि एक गिट छीन भी नादा किया था। बचाओ - आपने अनचाहे का ख्याल रखा। हार्ड / साफ बल / आदि रीसेट करें इनमें से कोई भी मेरे लिए कुछ भी नहीं किया। - killjoy


यही वह है जो मैं हमेशा उपयोग करता हूं:

git clean -fdx

एक बहुत बड़ी परियोजना के लिए आप इसे दो बार चलाने के लिए चाहते हैं।


92
2017-09-14 09:08



क्या आप बड़ी परियोजनाओं के बारे में टिप्पणी समझा सकते हैं? - Martin
@ मार्टिन जिन परियोजनाओं पर मैं काम कर रहा हूं उनमें से एक +8 साल पुराना है +80 डेवलपर्स सक्रिय रूप से कोडिंग के साथ। गिट कभी-कभी इसे पहले पास पर साफ करने में विफल रहता है। - Oscar Fraxedas


Git साफ जो आप खोज रहे हैं यह काम करने वाले पेड़ से अनचाहे फ़ाइलों को हटाने के लिए प्रयोग किया जाता है।


83
2017-09-24 06:28



पिछले जैसा ही टिप्पणी: linux.die.net/man/1/git-clean - dlewin


यदि विशेष उपनिर्देशिका से अनचाहे फ़ाइलों को निकालने के लिए आवश्यक है,

git clean -f {dir_path}

और अनचाहे dir / फ़ाइलों को हटाने और फ़ाइलों को अनदेखा करने के लिए संयुक्त तरीका।

git clean -fxd {dir_path}

इसके बाद आप केवल फाइलों में संशोधित होंगे git status


71
2018-01-22 06:33