क्या एक कार्यशील पेड़ और इंडेक्स में सभी अनकम्यूटेड परिवर्तनों को वापस करने और नए बनाए गए फ़ाइलों और फ़ोल्डरों को हटाने के लिए एक git कमांड है?
क्या एक कार्यशील पेड़ और इंडेक्स में सभी अनकम्यूटेड परिवर्तनों को वापस करने और नए बनाए गए फ़ाइलों और फ़ोल्डरों को हटाने के लिए एक git कमांड है?
जवाबों:
आप इन दो आदेशों को चला सकते हैं:
# Revert changes to modified files.
git reset --hard
# Remove all untracked files and directories.
# '-f' is force, '-d' is remove directories.
git clean -fd
git clean -i
एक इंटरैक्टिव मोड के लिए।
git merge --abort
।
यदि आप वर्तमान कार्य निर्देशिका में केवल परिवर्तनों को वापस करना चाहते हैं, तो उपयोग करें
git checkout -- .
और इससे पहले, आप उन फ़ाइलों को सूचीबद्ध कर सकते हैं जो वास्तव में बिना कोई कार्रवाई किए वापस हो जाएंगे, बस यह जांचने के लिए कि क्या होगा, साथ में:
git checkout --
git reset --hard
?
वर्किंग डायरेक्टरी में बदलाव को त्यागने के लिए "git checkout - ..." का उपयोग करें
git checkout -- app/views/posts/index.html.erb
या
git checkout -- *
जीआईटी स्थिति में अस्थिर फ़ाइलों में किए गए सभी परिवर्तनों को हटा देता है उदा
modified: app/controllers/posts.rb
modified: app/views/posts/index.html.erb
git checkout -- *
जब तक मैं उस निर्देशिका में काम नहीं करता जब तक कि मैं उस निर्देशिका में नहीं हूँ जहाँ परिवर्तित फ़ाइलें स्थित हैं। पूरे भंडार भर में सभी फाइलों को चेकआउट करने के लिए आपको क्या करना चाहिएgit checkout -- :/
git checkout -- *
, स्टार सभी फ़ाइलें और मौजूदा निर्देशिका में निर्देशिकाओं के साथ, शैल ने ले ली है। तो यह उपनिर्देशिकाओं में जाना चाहिए। इससे मेरा काम बनता है। लेकिन वाक्यविन्यास को उजागर करने के लिए धन्यवाद ": /" जो मेरी राय में क्लीनर को साफ करता है।
एक गैर-तुच्छ तरीका है इन दो कमांडों को चलाना:
git stash
यह आपके परिवर्तनों को स्टेश में ले जाएगा, जिससे आप HEAD की स्थिति में वापस आएंगेgit stash drop
यह अंतिम कमांड में बनाए गए नवीनतम स्टैश को हटा देगा।fatal: git-write-tree: error building trees Cannot save the current index state
git clean -fd
मदद नहीं की, नई फाइलें बनी रहीं। मैंने जो किया वह पूरी तरह से काम कर रहे पेड़ को हटा रहा है
git reset --hard
देखें " मैं Git में अपने स्थानीय कार्यशील निर्देशिका कैसे साफ़ करूं? सलाह जोड़ने के लिए" -x
स्वच्छ करने का विकल्प:
git clean -fdx
नोट -x
ध्वज Git द्वारा नजरअंदाज की गई सभी फाइलों को हटा देगा इसलिए सावधान रहें (मेरे द्वारा संदर्भित उत्तर में चर्चा देखें)।
मुझे लगता है कि आप निम्नलिखित कमांड का उपयोग कर सकते हैं: git reset --hard
कृपया ध्यान दें कि अभी भी ऐसी फाइलें हो सकती हैं जो गायब प्रतीत नहीं होंगी - वे एकरूप हो सकती हैं, लेकिन गिट ने उन्हें CRLF / LF परिवर्तनों के कारण संपादित किए जाने के रूप में चिह्नित किया हो सकता है। देखें कि क्या आपने .gitattributes
हाल ही में कुछ बदलाव किए हैं ।
मेरे मामले में मैंने .gitattributes
फ़ाइल में CRLF सेटिंग्स जोड़ दी हैं और सभी फाइलें इस वजह से "संशोधित फाइल" सूची में बनी हुई हैं। .Gitattributes सेटिंग्स को बदलने से वे गायब हो गए।
यदि आपके पास एक अनकम्फर्टेबल चेंज (केवल आपकी वर्किंग कॉपी में) है, जिसे आप अपनी नवीनतम कमेटी में कॉपी में वापस करना चाहते हैं, तो निम्न कार्य करें:
git checkout filename
git rm filename
, और यह काम नहीं कर रहा है। error: pathspec 'filename' did not match any file(s) known to git.
git rm
का हल हैgit checkout master -- filename
Git 2.23 ने git restore
कार्यशील ट्री फ़ाइलों को पुनर्स्थापित करने के लिए कमांड पेश की ।
https://git-scm.com/docs/git-restore
वर्तमान निर्देशिका में सभी फ़ाइलों को पुनर्स्थापित करने के लिए
गिट बहाल।
यदि आप अनुक्रमणिका में संस्करण से मिलान करने के लिए सभी सी स्रोत फ़ाइलों को पुनर्स्थापित करना चाहते हैं, तो आप कर सकते हैं
git पुनर्स्थापना '* .c'
आप बस निम्नलिखित git कमांड का उपयोग कर सकते हैं जो आपके भंडार में किए गए सभी अपरिवर्तित परिवर्तनों को वापस कर सकता है:
git checkout .
उदाहरण:
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: application/controllers/Drivers.php
modified: application/views/drivers/add.php
modified: application/views/drivers/load_driver_info.php
modified: uploads/drivers/drivers.xlsx
no changes added to commit (use "git add" and/or "git commit -a")
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git checkout .
ABC@ABC-PC MINGW64 /c/xampp/htdocs/pod_admin (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
एक सुरक्षित और लंबा रास्ता:
git branch todelete
git checkout todelete
git add .
git commit -m "I did a bad thing, sorry"
git checkout develop
git branch -D todelete