Git-stash manpage के अनुसार , "एक स्टैश को एक कमिट के रूप में दर्शाया जाता है, जिसका पेड़ वर्किंग डायरेक्टरी की स्थिति को रिकॉर्ड करता है, और इसका पहला पेरेंट कमिट HEAD
तब होता है जब स्टैश बनाया गया था," और git stash show -p
हमें देता है "में दर्ज किए गए बदलाव स्टैक्ड अवस्था और उसके मूल माता-पिता के बीच एक अंतर के रूप में टकराव।
अपने अन्य परिवर्तनों को अक्षुण्ण रखने के लिए, git stash show -p | patch --reverse
निम्नलिखित का उपयोग करें :
$ git init
Initialized empty Git repository in /tmp/repo/.git/
$ echo Hello, world >messages
$ git add messages
$ git commit -am 'Initial commit'
[master (root-commit)]: created 1ff2478: "Initial commit"
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 messages
$ echo Hello again >>messages
$ git stash
$ git status
# On branch master
nothing to commit (working directory clean)
$ git stash apply
# On branch master
# 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: messages
#
no changes added to commit (use "git add" and/or "git commit -a")
$ echo Howdy all >>messages
$ git diff
diff --git a/messages b/messages
index a5c1966..eade523 100644
--- a/messages
+++ b/messages
@@ -1 +1,3 @@
Hello, world
+Hello again
+Howdy all
$ git stash show -p | patch --reverse
patching file messages
Hunk #1 succeeded at 1 with fuzz 1.
$ git diff
diff --git a/messages b/messages
index a5c1966..364fc91 100644
--- a/messages
+++ b/messages
@@ -1 +1,2 @@
Hello, world
+Howdy all
संपादित करें:
git apply
पैच के स्थान पर इसका उपयोग करने के लिए एक हल्का सुधार है :
git stash show -p | git apply --reverse
वैकल्पिक रूप से, आप git apply -R
शॉर्टहैंड के रूप में भी उपयोग कर सकते हैं git apply --reverse
।
मैं यह वास्तव में हाल ही में काम कर रहा है ...