मान लीजिए कि मेरे पास एक फ़ाइल है जिसका नाम है a.txt। मैं इसे स्टेजिंग क्षेत्र में जोड़ता हूं, और फिर मैं इसे संशोधित करता हूं। जब मैंने इसे जोड़ा तो मैं इसे कैसे वापस कर सकता था?
जवाबों:
git checkout a.txtgit restore a.txtयदि आप लिखते हैं तो Git आपको यह बताता है git status।
2.23 से पहले Git:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: a
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a
#
Git 2.23 से शुरू:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: a
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: a
-- जैसे स्थिति कहती है के साथ काम किया ।
git checkout -- a.txt
इस पृष्ठ पर अन्य उत्तर के पास नहीं है --, और परिणामस्वरूप कुछ भ्रम है।
जब आप टाइप करते हैं तो यह आपको बताता है git status:
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: a
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: a
#
मंचन फ़ाइल का विरोध करना
अगले दो खंड प्रदर्शित करते हैं कि आपके मंचन क्षेत्र और कार्यशील निर्देशिका में परिवर्तन के साथ कैसे काम किया जाए। अच्छी बात यह है कि उन दो क्षेत्रों की स्थिति को निर्धारित करने के लिए आप जिस कमांड का उपयोग करते हैं, वह आपको यह भी याद दिलाता है कि उन्हें कैसे बदलना है। उदाहरण के लिए, मान लें कि आपने दो फ़ाइलों को बदल दिया है और दो अलग-अलग परिवर्तनों के रूप में उन्हें कमिट करना चाहते हैं, लेकिन आप गलती से git add * टाइप करते हैं और उन दोनों को स्टेज करते हैं। आप दोनों में से किसी एक को कैसे अस्थिर कर सकते हैं? Git स्टेटस कमांड आपको याद दिलाता है:
$ git add *
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: README.md -> README
modified: CONTRIBUTING.md
"परिवर्तन किए जाने वाले" पाठ के ठीक नीचे, यह कहता है कि git रीसेट HEAD ... का उपयोग करें। तो, चलिए CONTRIBUTING.md फ़ाइल को अनस्टेज करने के लिए उस सलाह का उपयोग करें:
$ git reset HEAD CONTRIBUTING.md
Unstaged changes after reset:
M CONTRIBUTING.md
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: README.md -> README
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: CONTRIBUTING.md
कमांड थोड़ा अजीब है, लेकिन यह काम करता है। CONTRIBUTING.md फ़ाइल को संशोधित किया गया है, लेकिन एक बार फिर अस्थिर है।