दिलचस्प पोस्ट
सी अल्पविराम ऑपरेटर संसाधन अधिग्रहण से क्या मतलब है आरंभिकरण (आरएआईआई) है? मैं अपने जीवीएम के लिए डिफ़ॉल्ट लोकेल कैसे सेट करूं? गतिशील रूप से फेसबुक ओपन ग्राफ़ मेटा टैग जेनरेट करना SQL सर्वर डीबी में सभी सूचकांक और अनुक्रमणिका कॉलम की सूची क्यों। नेट स्ट्रिंग अपरिवर्तनीय है? iPhone: एक टैबबार ऐप में कई दृश्य नियंत्रकों के बीच डेटा कैसे पास करें UIGraphicsGetImageFromCurrentImageContext मेमोरी रिसाव पूर्वावलोकन के साथ ExpireTimeSpan को पुनर्जन्म करने के बाद की उपेक्षा की गई IDentity / MVC पहचान में मान्य अवधि (2.0.1) जावा क्लास को निष्पादित करने के लिए ग्रैडल (build.gradle संशोधित किए बिना) हम ऐसा क्यों नहीं कर सकते सूची <मातृत्व> mylist = ArrayList <child> (); के लिए __gxx_personality_v0 क्या है? PHP केस-असंवेदनशील में फ़ंक्शंस और तरीके क्यों हैं? संख्या के आधार पर आप क्रेडिट कार्ड के प्रकार का पता कैसे लगा सकते हैं? शाखाओं की रणनीतियाँ

मैं जीआईटी में अपनी स्थानीय कार्यरत निर्देशिका को कैसे साफ़ कर सकता हूं?

मैं जीआईटी में अपनी कार्यशील निर्देशिका कैसे साफ़ कर सकता हूं?

वेब के समाधान से एकत्रित समाधान "मैं जीआईटी में अपनी स्थानीय कार्यरत निर्देशिका को कैसे साफ़ कर सकता हूं?"

किसी विशिष्ट फ़ाइल को अंतिम-प्रतिबद्ध राज्य में रीसेट करने के लिए (विशिष्ट फाइल में अनकमित परिवर्तनों को त्यागने के लिए):

git checkout thefiletoreset.txt 

यह git status आउटपुट में उल्लिखित है:

 (use "git checkout -- <file>..." to discard changes in working directory) 

पूरे रिपॉजिटरी को अंतिम प्रतिबद्ध राज्य में रीसेट करने के लिए:

 git reset --hard 

अप्रतिबंधित फाइलों को हटाने के लिए, मैं आमतौर पर काम की प्रतिलिपि में सभी फाइलों को हटा देता हूं (लेकिन .git/ फ़ोल्डर नहीं!), फिर git reset --hard जो इसे केवल प्रतिबद्ध फाइलों के साथ छोड़ देता है

git clean का उपयोग करने के लिए एक बेहतर तरीका है: ( चेतावनी : नीचे दिए गए -x फ्लैग का उपयोग करके गिट को अनदेखी हुई फ़ाइलों को हटाने के लिए कारण होगा।)

 git clean -d -x -f 

गेट ( -x ) द्वारा दुर्लक्षित फाइलों, निर्देशिका ( -d ) और फ़ाइलों को अनदेखा कर देगा। -f मोड के लिए सूखी-रन या -i करने के लिए -n साथ -f तर्क को बदलें और यह आपको बताएगा कि क्या हटाया जाएगा।

प्रासंगिक लिंक:

  • जीआईटी रीसेट मैन पेज
  • जीआईटी-क्लीन मैन पेज
  • जीआईटी तैयार "अनचाहे फाइलों को सफाई" (मार्को पोस्ट के रूप में)
  • Stackoverflow सवाल "आप अपने git काम कर प्रतिलिपि से untracked फ़ाइलों को कैसे निकाल सकते हैं?"
 git clean -df 

संपादित करें: यह अच्छी तरह से विज्ञापित नहीं है, लेकिन git clean वास्तव में आसान है। गिट रेडी के पास git clean लिए एक अच्छी पहचान है

अपडेट: नीचे दी गई टिप्पणी में सुझाव के आधार पर x फ्लैग निकाल दिया गया

सभी उत्तर अब तक स्थानीय प्रतिबद्धता बनाए रखते हैं। यदि आप वास्तव में गंभीर हैं, तो आप सभी स्थानीय कमानों और सभी स्थानीय संपादनों को कर सकते हैं:

 git reset --hard origin/branchname 

उदाहरण के लिए:

 git reset --hard origin/master 

यह आपके स्थानीय भंडार को मूल की स्थिति (अनट्रेक्टेड फाइलों के अलावा) से ठीक से मेल खाता है।

यदि आपने गलती से यह आदेश पढ़ा है, और यह नहीं है के बाद गलती से किया है, तो अपने पुरानी प्रतिबद्धता को खोजने के लिए git reflog का उपयोग करें।

आप एक ऐसी प्रतिबद्धता बना सकते हैं जिसमें एक खाली कार्य प्रतिलिपि है।

यह आम तौर पर सुरक्षित, गैर-विनाशकारी दृष्टिकोण है क्योंकि इसमें किसी भी जानवर-बल रीसेट तंत्र का उपयोग शामिल नहीं है। पहले आप git checkout empty साथ सभी प्रबंधित सामग्री को छिपाते हैं, फिर आप मैन्युअल रूप से समीक्षा करने के लिए स्वतंत्र हैं और जो कुछ भी अप्रबंधित सामग्री अवशेष निकाल सकते हैं

 ## create and initialize a temporary repo with an empty working copy ( mkdir ./temp-repo && cd ./temp-repo && git init touch ./temp-file && git add . && git commit -m "almost empty" git rm ./temp-file && git commit -m "empty" git tag empty ) ## fetch the history from the temporary repo git remote add empty ./temp-repo && git fetch --tags empty && git remote rm empty gvfs-trash ./temp-repo ## delete the temporary repo ## clear the working copy git checkout empty 

आपकी काम की कॉपी अब किसी भी प्रबंधित सामग्री से स्पष्ट होनी चाहिए। जो कुछ भी रहता है वह अप्रबंधित फ़ाइलें और .git फ़ोल्डर ही रहता है

अपनी काम की प्रतिलिपि पुन: भरना …

 git checkout master ## or whatever branch you will be using 

किसी अन्य शाखा में स्विच करने के लिए, सभी अवतरित परिवर्तनों को छोड़कर (जैसे कि गिट की लाइन अंत की अजीब संभाल से परिणामस्वरूप):

 git checkout -f <branchname> 

मेरे पास सैकड़ों बदली हुई फाइलें (लेकिन रिक्त git diff --ignore-space-at-eol ) के साथ एक कार्यशील प्रति था, जिसे मैं यहां पढ़ा गया किसी भी कमांड से छुटकारा नहीं पा पाया था, और git checkout <branchname> जीता ' टी काम, या तो – जब तक -f (या --force ) विकल्प नहीं दिया जाता है

विशिष्ट फ़ाइल को रीसेट करने के लिए के रूप में git स्थिति सुझाती है:

 git checkout <filename> 

किसी फ़ोल्डर को रीसेट करने के लिए

 git checkout <foldername>/*